大学C语言期末试卷题型参考答案.doc
《大学C语言期末试卷题型参考答案.doc》由会员分享,可在线阅读,更多相关《大学C语言期末试卷题型参考答案.doc(7页珍藏版)》请在咨信网上搜索。
一、选择题(共20分,每小题2分) 1. 在C语言类型说明中,int, char, short等类型数据的长度是( D )。 A. 固定的 B. 由用户自己定义的 C. 任意的 D. 与机器字的长度有关 2. 若已正确说明为int类型,要给abc输入数据,则正确的输入语句是( D )。 A. read(a,b,c); B. scanf(“%d%d%d”,a,b,c); C. scanf(“%D%D%D”,&a,&b,&c); D. scanf(“%d%d%d”,&a,&b,&c); 3. C语言中对嵌套if语句的规定是:else总是与( D )配对。 A. 其之前最近的if B. 第一个if C. 缩进位置相同的if D. 其之前最近且不带else的if 4. 以下语句中,( C )是不可能做到提前退出循环语句的。 A. goto B. break C. continue D. return 5. 假设有两个字符数组a、b,则以下正确的输入语句是( B )。 A. gets(a, b) B. scanf(“%s %s”,a,b) C. scanf(“%s%s”, D. gets(“a”); gets(“b”) 6. 以下正确的描述是( B )。在C语言程序中, A. 函数的定义可以嵌套,但函数的调用不可以嵌套 B. 函数的定义不可以嵌套,但函数的调用可以嵌套 C. 函数的定义和含糊的调用均可以嵌套 7. 在宏定义#define PI 3.1415926中,用宏名PI代替一个( D )。 A. 单精度数 B. 双精度数 C. 常量 D. 字符串 8. 以下选项中,对指针变量p不正确的操作是( C )。 A. int a[6], *p; p = &a; B. int a[6], *p; p = a; C. int a[6]; int *p = a = 1000; D. int a[6]; int *p1, *p2 = a; *p1 = *p2; 9. 设有以下说明,已知int类型占2个字节,则下列叙述正确的是( D )。 struct st { int a; int b[2]; } a; A. 结构体变量名a和结构体成员a同名,不合法 B. 程序运行时将为结构体st分配6个字节的内存单元 C. 程序运行时不为结构体st分配内存单元 D. 程序运行时将为结构体变量a分配6个字节的内存单元 10. 当文件顺利关闭时,fclose()的返回值是( C )。 A. -1 B. EOF C. 0 D. 1 二、填空题(共20分,每小题2分) 1. C程序中定义的一个变量,代表内存中的一个 存储单元 。 2. ‘\72’在内存中占 一 个字节,”\72”在内存中占 二 个字节。 3. 结构化程序设计的3种基本结构是 顺序结构 、 选择结构 、 循环结构 。 4. 下列for循环执行 4 次。 For (x =0 , y = 0; y != 99 && x < 4; x++) ; 5. 若有定义 “double x[3][5];”则x数组中行下标的下限为 0 , 列下标的上限为 4 。 6. 函数swap(intx, inty)可以完成对x和y值的交换。在运行调用函数中的如下语句后,a[0]和a[1]的值分别为 1, 2 ,原因是 参数按值传递,形参值的改变不会影响实参值 。 a[0] = 1; a[1] = 2; swap(a[0], a[1]); 7. 设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH + 40) 则执行赋值语句”k = LENGTH * 20;” (k为int型变量)后,k的值是 2400 。 8. 声明语句” int (*p)( ); ” 的含义是 P是一个指向函数的指针变量,该函数的返回值是整型 。 9. typedef long int BIGGY 的作用是定义了一个新的 数据类型标识符 。 10. EOF只可用于 文本 文件,用来作为 文件结束 标志。 三、阅读程序,并将分析结果写在程序右边空白处(共24分,每小题6分) 1. 运行下列程序,如果输入5432,请写出程序运行结果。 #include <stdio.h> main() { int digit, number; scanf("%d", &number); while(number){ digit = number % 10; number /= 10; printf("%d", digit); } } 结果为:2345 评分标准:若结果正确,6分;若结果部分有误,但有正确分析过程,根据比例适当得分;若结果有误且无分析,得0分 2. 运行下列程序,如果输入18 ,请写出程序运行结果(库、头文件省略)。 #include <stdio.h> int main() { int x, y, i, a[8], j, u, v; scanf("%d", &x); y = x; i = 0; do { u = y / 2; a[i] = y % 2; i++; y = u; } while(y >= 1); for(j = i - 1; j >= 0; j--) printf("%d", a[j]); printf("\nyes"); } 结果为:(十进制转二进制) 10010 Yes 评分标准:若结果正确,6分;若结果部分有误,但有正确分析过程,根据比例适当得分;若结果有误且无分析,得0分 3. 请写出以下程序的运行结果 #include <stdio.h> void increment(void); int main() { increment(); increment(); increment(); } void increment(void) { static int x; x += 1; printf("%d", x); } 结果为: 123 评分标准:若结果正确,6分;若结果部分有误,但有正确分析过程,根据比例适当得分;若结果有误且无分析,得0分 4. 请写出以下程序的运行结果 #include <stdio.h> #include <string.h> int main() { char *p1, *p2, str[20] = "ABC"; p1 = "abc"; p2 = "abc"; strcpy(str+1, strcat(p1, p2)); printf("%s\n", str); } 结果为:Aabcabc 评分标准:若结果正确,6分;若结果部分有误,但有正确分析过程,根据比例适当得分;若结果有误且无分析,得0分 四、程序填空(共16分,每小题8分) 1. 以下程序可计算10名学生1门课成绩的平均分,请根据题意填空。 #include <stdio.h> float average(float array[]); int main() { float score[10], aver; int i; printf("\n please input 10 scores:"); for(i = 0; i < 10; i++) scanf("%f", &score[i]); aver = average(score) ; printf("\naverage score is %5.2f\n", aver); getchar(); getchar(); } float average(float array[10]) { int i; float aver, sum = array[0]; for(i=1; i <= 9 ; i++) sum += array[i] ; aver = sum / 10; return (aver); } 评分标准: 每空2分 2. 以下程序从键盘输入一行字符作为字符串(遇换行符结束)存放在字符数组中,然后输出,请根据题意填空。 #include <stdio.h> main() { char s[80], *p; int i; for(i = 0; i < 80; i++){ s[i] = getchar(); if(s[i] == '\n' ) break; } s[i] = '\0' ; p = s ; while(*p) putchar (*p ++ ); } 评分标准: 每空2分 五、程序设计(共20分,每小题10分) 1. a是一个2*4的整型数组,且各元素以通过键盘赋值。函数max_value可求出其中的最大元素值max,并将此值返回主调函数。现有函数调用语句”max = max_value(a);”,请编写max_value函数和main()函数,在main()中调用max_value函数并输出其结果。 #include <stdio.h> int max_value(int arr[][4]); int main() { int i, j, x, a[2][4]; printf("please input the array a[2][4]:\n"); for(i = 0; i < 2; i++) for(j = 0; j < 4; j++) scanf("%d", &a[i][j]); x = max_value(a); printf("\n%d\n", x); } int max_value(int arr[][4]) { int i, j, m; m = arr[0][0]; for(i = 0; i < 2; i++) for(j = 0; j < 4; j++) if (arr[i][j] > m) m = arr[i][j]; return m; } 评分标准:在符合题意的要求上,实现方式任意,其中各部分声明总共2分;Main中, scanf 2分,调用1分,输出1分;max_value中,循环2,比较及返回2分。 2. 运用指针编写一个函数,将一个3*3的矩阵转置(即行列互换),并在主调函数中调用实现。矩阵数据要求从键盘读取输入,并要求显示转置前后的矩阵内容。 #include <stdio.h> main() { void move(int *pointer); int a[3][3], *p, i; printf("please input the matrix:\n"); for(i = 0; i < 3; i++) scanf("%d %d %d", &a[i][0], &a[i][1], &a[i][2]); fflush(stdin); printf("\noriginal matrix is:\n"); for(i = 0; i < 3; i++) printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]); p = &a[0][0]; move(p); printf("\nnow, the converted matrix is:\n"); for(i = 0; i < 3; i++) printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]); } void move(int *pointer) { int i, j, t; for(i = 0; i < 3; i++) for(j = i; j < 3; j++){ t = *(pointer + 3*i +j); *(pointer + 3*i + j) = *(pointer + 3*j + i); *(pointer + 3*j + i) = t; } } 评分标准:在符合题意的要求上,实现方式任意,其中各部分声明总共2分;Main中, scanf 2分,调用1分,输出1分;move中,循环2分,交换2分。 7- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 语言 期末试卷 题型 参考答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文