收藏 分销(赏)

广东海洋大学C语言题库.doc

上传人:仙人****88 文档编号:9411273 上传时间:2025-03-25 格式:DOC 页数:91 大小:354.50KB 下载积分:10 金币
下载 相关 举报
广东海洋大学C语言题库.doc_第1页
第1页 / 共91页
广东海洋大学C语言题库.doc_第2页
第2页 / 共91页


点击查看更多>>
资源描述
第一部分 [试卷描述] <试卷名称>=C语言期末考试试卷A <使用计算器>=0 <允许帮助>=0 [题目描述] 考试说明: 一、本试卷由两大部分组成:选择题(70分)和编程题(30分)    二、选择题为单项选择,即只有一个选项是正确的,直接利用本软件 答题。答题方法和要求是:将你认为正确的答案填入对应的答题区域内(按 对应的字母键);要结束选择题的考试请按ESC键,然后在对话框中选“是” 按钮    三、编程题请在结束选择题考试后作答,答题方法和要求是:按以上 方法结束选择题的考试后,打开考试盘(网络盘K:)“考生文件夹”中文件 名为“编程题”的文件(双击即可),然后按此文件内容提供的信息和要求 答题 一、选择题(每题2分,35题,共70分) 1、一个C语言程序是由( 1 ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 <标准答案>=b [题目描述] 2、下面不属于结构化程序设计的三种基本结构的是( 2 ) A、顺序 B、跳转 C、循环 D、选择 <标准答案>=b [题目描述] 3、下面四个选项中,均是不合法的用户标识符的选项是 ( 3 ) 。 A、b-a B、Float C、a2 D、_123 goto P_0 int temp int char 2b double <标准答案>=a [题目描述] 4、若有代数式(3ae)/bc,则不正确的C语言表达式是( 4 )。 A、a/b/c*e*3 B、3*a*e/b/c C、a*e/c/b*3 D、a*e/c/b*3 <标准答案>=b [题目描述] 5、表达式21/4*sqrt(9.0)/4值的数据类型是( 5 )。 A、float B、int C、不确定 D、double <标准答案>=d [题目描述] 6、若希望当字符变量a中为数字字符时,表达式的值为"真",为 非数字字符时,表达式的值为"假"。则以下不能满足要求的表 达式是( 6 )。 A、a>=0 && a<=9 B、a>='0' && a<='9' C、a>=48+0 && a<=48+9 D、a-'0'>=0 && a-'0'<=9 <标准答案>=a [题目描述] 7、以下程序的输出结果是( 7 )。 main() { int a=8; printf("%d\n", (a+=a-=a*a)); } A、0 B、-112 C、-180 D、-48 <标准答案>=b [题目描述] 8、一个C语言的语句至少应包一个( 8 )。 A、{ } B、逗号 C、分号 D、什么不要 <标准答案>=c [题目描述] 9、程序中定义以下宏#define S(a,b) a*b 若定义 int area;且令area=S(3+4,5+1),则变量area的 值为( 9 ) 。 A、42 ? B、24 C、25 D、23 <标准答案>=b [题目描述] 10、在C语言中,函数的隐含存储类别是( 10 )。   A、auto  B、static  C、extern  D、无存储类别 <标准答案>=c [题目描述] 11、有如下程序   main()   {    int i,sum;    for(i=1;i<=3;sum++) sum+=i;    printf("%d\n",sum);i无变化   }   该程序的执行结果是( 11 ) A、6   B、3 C、死循环 D、0 <标准答案>=c [题目描述] 12、为了避免嵌套的if-else语句的二义性,C语言规定 else总是与( 12 )组成配对关系。 A、缩排位置相同的if B、在其之前未配对的if C、在其之前未配对的最近的if D、同一行上的if <标准答案>=c [题目描述] 13、有以下程序,程序运行后的输出结果是( 13 )。 main() { int a=15, b=21, m=0; switch (a%3) { case 0: m++; break; case 1: m++; switch (b%2) { default: m++; case 0: m++; break; } } printf(”%d\n”,m); } A、1 B、2 C、3 D、4 <标准答案>=a [题目描述] 14、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; }while(!i); n++; } printf("n=%d\n",n); } 程序执行后的输出结果是( 14 ) A、n=5 B、n=2 C、n=3 D、n=4 <标准答案>=d [题目描述] 15、假定有以下变量定义 int k=7, x=12; 则能使值为7的表达式是( 15 )。 A、x%k B、k%x C、k/x D、3%k <标准答案>=b [题目描述] 16、以下对C语言函数的有关描述中,正确的是( 16 )。 A、调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值,否则不能使用函数 D、C程序中有调用关系的所有函数必须放在同一个源程 序文件中 <标准答案>=a [题目描述] 17、有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是( 17 )。∏记 A、4 B、3 C、5 D、有语法错 <标准答案>=b [题目描述] 18、合法的数组定义是 ( 18 )。 A、char a={'O', 'K', '!'}; B、char a[3]={"O", "K", "!"}; C、char a[4]={'O','K','!'}; D、char a[3]="OK!"; <标准答案>=c [题目描述] 19、 以下程序运行后,输出结果是( 19 )。 main() { int a[10], a1[ ]={1,3,6,9,10}; int a2[ ]={2,4,7,8,15},i=0,j=0,k; for(k=0;k<4;k++) if(a1[i]<a2[j]) a[k]=a1[i++]; else a[k]=a2[j++]; for(k=0;k<4;k++) printf("%d",a[k]); } A、1234 B、1324 C、2413 D、4321 <标准答案>=a 描述] ?20、若有以下定义和语句: char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2))); 则输出结果是( 20 ) A、4 B、5 C、9 D、10 <标准答案>=a [题目描述] 21、若有以下数组定义,其中不正确的是( 21 ) 。 A、int a[2][3]; B、int b[][3]={0,1,2,3}; C、int c[100][100]={0}; X D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; <标准答案>=d [题目描述] 22、以下程序输出{的结果是( 22 )。 main( ) { char w[][10]={"ABCD","EFGH","IJKL","MNOP"}, k; for (k=0;k<3;k++) printf("%s\n",&w[k][k]); } A、ABCD B、ABCD FGH EFG KL IJ M C、EFG D、FGH JK KL O <标准答案>=a [题目描述 23、以下程序的输出结果是( 23 )。 main() { int i; for (i=1;i<=5;i++) { if(i%2==0) printf("#"); else continue; printf("*"); } printf("$\n"); } A、*#*#*#$ B、#*#*#*$ C、*#*#$ D、#*#*$ <标准答案>=d [题目描述] 24、若有说明语句:int a, b, c, *d=&c;, 则能正确从键盘读入三个整数 分别赋给变量a、b、c的语句是( 24 )。 A、scanf("%d%d%d",&a,&b,&d); B、scanf("%d%d%d",&a,&b,d); C、scanf("%d%d%d",a,b,d); D、scanf("%d%d%d",a,b,*d); <标准答案>=b [题目描述] 25、若定义:int a=511,*b=&a则printf("%d\n",*b); 的输出结果为( 25)。 A、无确定值 B、a的地址 C、512 D、511 <标准答案>=d [题目描述] 26、运行下面的程序,如果从键盘上输入:123<空格>456<空格>789<回车>, 输出结果是( 26 )。 A、123,456,789 B、1,456,789 C、1,23,456,789 D、1,23,456 main( ) { char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s\n",c,i,s); } <标准答案>=d [题目描述] 27、若有数组定义: char array [ ]="China"; 则数组 还有一个”\0” array所占的空间为( 27 )。 A、4个字节 B、5个字节 C、6个字节 D、7个字节 <标准答案>=c 题目描述] 28、若有以下的定义: int a[ ]={1,2,3,4,5,6,7,88,9,10}, *p=a;p代表a的地址, 则值为3的表式是( 28 ) A) p+=2, *(p++) B) p+=2,*++p C) p+=3, *p++ D) p+=2,++*p <标准答案>=a [题目描述] 29、以下程序运行后的输出结果是 ( 29 )。 func(int a) { auto int b=0; auto int c=1; b++; c++;; return (a+b+c); } main( ) { int x=2, i; for(i=0; i<3; i++) printf("%d\n",func(x)); } A、5 B、5 C、5 D、5 8 7 6 5 11 9 7 5 <标准答案>=d [题目描述] 30、若已定义: int a[]={0,2,4,6,8,10,12,14,16,18},*p=a, i; (i在0至9的范围),以下对a数组元素的引用不正确 的是( 30 ) A、a[p-a] ? B、*(&a[i]) C、p[i] D、*(*(a+i)) <标准答案>=d [题目描述] 31、以下程序的输出结果是( 31 ) main() { int *p; int a[5]={2, 6, 8, 7, 1}; p=a; printf("%d %d %d\n", a[p-a], *p++, *++p); } A、8 6 6 B、2 2 8 C、2 6 8 D、6 8 6 <标准答案>=a [题目描述] 32、下面程序的功能是计算正整数2345的各位数字平方和, 请选择填空。 填第一空(32 ): #include <stdio.h> main() { int n, sum=0; n=2345; do { sum=sum+( 32 ); n=( 33 ); }while(n); printf("sum=%d",sum); } A、n%10 B、(n%10)*(n%10) C、n/10 D、(n/10)*(n/10) <标准答案>=b [题目描述] 33、下面程序的功能是计算正整数2345的各位数字平方和, 请选择填空。 填第二空( 33 ): #include <stdio.h> main() { int n, sum=0; n=2345; do { sum=sum+( 32 ); n=( 33 ); }while(n); printf("sum=%d",sum); } A、n/1000 B、n/100 C、n/10 D、n%10 <标准答案>=c [题目描述] ?34下面程序的功能是求出用数字1、3、5、7可以组成多少个 没有重复的三位数,且每行控制输出4个数。请选择填空。 填第一空( 34 ): main() { int i, j, k, count=0; for(i=1; i<=7; i=i+2) for(j=1;j<=7; j=j+2) for(k=1;k<=7; k=k+2) if( 34 ) { printf("%5d", i*100+j*10+k); count++; if( 35 ) printf("\n"); } } A、(i!=j!=k) B、(i!=j && i!=k && j!=k) C、(i!=j && i!=k) D、(i!=j || i!=k || j!=k) <标准答案>=b [题目描述] 35、下面程序的功能是求出用数字1、3、5、7可以组成多少个 没有重复的三位数,且每行控制输出4个数。请选择填空。 填第二空( 35 ): main() { int i, j, k, count=0; for(i=1; i<=7; i=i+2) for(j=1;j<=7; j=j+2) for(k=1;k<=7; k=k+2) if( 34 ) { printf("%5d", i*100+j*10+k); count++; if( 35 ) printf("\n"); } } A、count/4==0 B、count%4 C、count%4==0 D、count/4 标准答案>=c 选择题: 1、下面不属于结构化程序设计的三种基本结构的是_______ 。 A、顺序结构 B、跳转结构 C、循环结构 D、选择结构 <标准答案>=b [题目描述] 2、下列各组字符序列中,可用作C语言程序标识符的是_______。下划线&字母可以作为首 A、12abc B、 abc$12 C、abc%% D、 _abc12 <标准答案>=d [题目描述] 3、C语言中的简单数据类型包括 _______ 。 A、整型、实型、逻辑型 B、整型、字符型、逻辑型 C、整型、实型、字符型 D、整型、实型、逻辑型、字符型 <标准答案>=c [题目描述] 4、下列符号中,不属于转义字符的是 _______ 。 A.\0xAA B.\\ C.\t D.\0 <标准答案>=a [题目描述] 5、已知各变量的类型说明如下: int m=8,n, a, b; unsigned long w=10; double x=3.14159, y=0.12; 则以下符合C语言语法的表达式是_______。 A.a+=a-=(b=2)*(a=8) B.n=n*3=18 C.x%3 D.y=float (m) <标准答案>=a [题目描述] 6、假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的 在计算x+y之前,y已经自家一了 值是_______。 A.2 B.6 C.7 D.8 <标准答案>=d [题目描述] 7、设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是____。 printf(%d,%d\n",x--,--y); A、10,3 B、10,2 C、9,2 D、9,3 <标准答案>=b [题目描述] 8、以下程序段的输出结果是______。 float a=12345.98; printf("%5.2f\n",a); A、12345.98 B、12345 C、45.98 D、提示出错、无结果 <标准答案>=a [题目描述] 9、putchar函数可以向终端输出一个______。 A.整型变量表达式值 B.字符串 C.字符或字符型变量值 D.实型变量值 <标准答案>=c [题目描述] 10、有如下程序段,从键盘输入数据的正确形式应是________。 (注:└┘代表空格) float x,y,z; scanf(“x=%d,y=%d,z=%d”,&a,&y,&z); A.123 B.x=1,y=2,z=3 C.1,2,3 D.x=1└┘y=2└┘z=3 <标准答案>=b [题目描述] 11、在C语言中,if(a)语句,当a的值为_____ 时 不执行if后面的语句。 A、-1 B、0.1 C、1 D、0 <标准答案>=d [题目描述] 12、已知:char ch='q';则下列表达式的值是______ 下式是对的,故选左边的 ch = (ch>='a'&&ch<='z') ? (ch-32) : ch; A、a B、Q C、q D、z <标准答案>=b [题目描述] 13、以下程序的输出结果是_______。 main() {int a=10,b; b=++a;b+=a; printf(" %d",b); b=a--; b+=a; printf(" %d",b); } A、20 21 B、22 21 C、21 22 D、21 20 <标准答案>=b [题目描述] 14、已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是_____。 if(a>b) 他们是一起的,下面的是另外的 c=a; a=b; b=c; A.a=2, b=3, c=3 B.a=1, b=2, c=3 C.a=2, b=3, c=1 D.a=2, b=3, c=2 <标准答案>=a [题目描述] 15、有以下程序,若输入为字符s,则程序运行结果为_______。 #include "stdio.h" main() { char ch; ch=getchar(); switch (ch) { case 'a': printf("a=%c\n",ch); default: printf("end!\n"); case 'b': printf("b=%c\n",ch); case 'c': printf("c=%c\n",ch); } } A.end! B.end! C.有语法错误 D.a=s b=s end! c=s <标准答案>=a [题目描述] 16、设a为int型变量,则能正确表达数学关系-1<a<10的表达式是___。 A、10>a >-1 X B、!(a>-1 && a<10) C、-1<a && a<10 D、-1<a || a<10 <标准答案>=c [题目描述] 17、以下程序的输出结果是________。 main() { int n=2; while (n--) printf("%d",--n); } A. 1-1 B. 10 C. 21 D. 0 <标准答案>=d [题目描述] 18、当执行以下程序段时,_________。 x=-1; do {x=x*x;} while (!x); A.循环体将执行一次      B.循环体将执行两次 C.循环体将执行无数多次  D.系统将提示有语法错误 <标准答案>=a [题目描述] 19、以下程序的输出结果是_______。 main() { int i; for (i=1;i<=5;i++) { if(i%2) printf("#"); else continue; printf("*"); } printf("$\n"); } A、*#*#*#$ B、#*#*#*$ C、*#*#$ D、#*#*$ <标准答案>=b [题目描述] 20、若i,j已定义为int类型,则以下程序段中内循环的总的执行 次数是________。 for (i=3;i;i--) for (j=0;j<2;j++) {…} A.12 B.9 C.6 D.2 <标准答案>=c [题目描述] 21、在以下给出的表达式中,与do-while(E)语句中的(E)不等价的 表达式是_______。 A. (E==0) B. (E>0||E<0) C. (!E==0) D. (E!=0) <标准答案>=a [题目描述] 22、C语言中规定函数的返回值类型是由_______。 A、调用该函数时的主调函数类型所决定的 B、调用该函数时所定义的调函数类型所决定的 C、调用该函数时系统临时决定的 D、return 语句中的表达式类型所决定的 <标准答案>=b [题目描述] 23、在C语言中,形参的缺省存储类型是________ A、auto B、register C、static D、extern <标准答案>=a [题目描述] 24、在一个源程序文件中定义的全局变量的有效范围是______。 A. 本源程序文件的全部范围 B. 一个C程序的所有源程序文件 C. 函数内全部范围 D. 从定义变量的位置开始到源程序文件结束 <标准答案>=d [题目描述] 25、以下程序的输出结果是_______。 fun(int x, int y, int z) { z=x*x+y*y; } main() { int a=12; fun(4,7,a); printf("%d",a); } A. 无确定值 B. 0 C. 12 D.28 <标准答案>=c [题目描述] 26、以下程序的输出结果是________ f(int b[],int m,int n) { int i,s=0; for(i=m;i<n;i=i+2) s=s+b[i]; return s; } main() { int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); } A、8 B、10 C、18 D、15 <标准答案>=b [题目描述] 27.下列程序执行后的输出结果是________。 #define MA(x) x*(x-1) main() { int a=2,b=3; printf("%d \n",MA(1+a+b)); } A. 10 B. 18 C. 24 D. 35 <标准答案>=b [题目描述] 28、若有定义: char s[200];则数组上、下标为______。 A、0,199 B、1,200 C、200,1 D、199,0 <标准答案>=a [题目描述] 29、以下程序段的输出结果是_______ 。 Char s[]="abcd\'"; printf("%d\n",strlen(s));求其子数? A、8 B、7 C、6 D、5 <标准答案>=d [题目描述] 30、合法的数组定义是 _______。 A、char a[]={'O', 'K', '!'}; B、char a[3]={"O", "K", "!"}; C、char a={'O','K','!'}; D、char a[3]="OK!"; <标准答案>=a [题目描述] 31、以下程序的输出结果是________。 main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A. 258 B. 741 C. 852 D. 369 <标准答案>=c [题目描述] 32、有以下程序 main( ) { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d\n",s); } 该程序的输出结果是_________。 A.21 B. 20 C. 19 D. 18 <标准答案>=d [题目描述] 33、若定义:int a=155,*b=&a,则printf("%d\n",*b);语句 的输出结果为_______。 A、无确定值 B、a的地址 C、156 D、155 <标准答案>=d [题目描述] 34、以下程序的输出结果是_____ 。 main() {int a[]={1,2,3,4,5,6,7,8,9,10}; int *p; p=a; printf("%d ",*p++); printf("%d\n",*p++); } A、1 2 B、1 1 C、2 3 D、2 2 <标准答案>=a [题目描述] 35、以下程序的输出结果是_______ main() {char b[]="computer!"; char *p=b; printf("%c ",*(b+3)); p=p+8; printf("%c\n",*p++); } A、3 8 B、m r C、p ! D、m ! <标准答案>=c[试卷描述] 一、选择题(每题2分,35题,共70分) 1、C语言中,复合语句的构成是将一系列语句置于( 1 )。 A、begin与end之间 B、方框号“[ ]”之间 C、花括号“{ }”之间 D、圆括号“( )”之间 <标准答案>=c [题目描述] 2、以下叙述不正确的是( 2 ) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 <标准答案>=d [题目描述] 3、下面四个选项中,均是合法的用户标识符的选项 是 ( 3 ) 。 A、b_a B、Float C、begin D、_123 goto a2 int temp long Char bird double <标准答案>=b [题目描述] 4、下面四个选项中,均是不正确的八进制数或 十六进制数的选项是( 4 )。 A、016
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服