12C语言期末复习资料.docx
- 文档编号:30273256
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:19
- 大小:22.60KB
12C语言期末复习资料.docx
《12C语言期末复习资料.docx》由会员分享,可在线阅读,更多相关《12C语言期末复习资料.docx(19页珍藏版)》请在冰豆网上搜索。
12C语言期末复习资料
12级C语言期终复习资料
一选择题
1.C语言源程序的基本单位是()。
A过程B函数C子程序D标识符
2.下列程序的输出结果是()。
main()
{inta=7,b=5;
printf("%d\n",b=b/a);
}
A5B1C0D不确定值
3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?
a++:
b++,a+b)的值是()。
A7B6C9D2
4、C程序的执行特点是
A、从程序的main函数开始,到程序的最后一个函数结束
B、从程序的第一个函数开始,到程序的最后一个函数结束
C、从程序的main函数开始,到程序的main函数结束
D、从程序的第一个函数开始,到程序的main函数结束
5、字符型(char)数据在微机内存中的存储形式是________
A、EBCDIC码B、ASCII码C、补码D、反码
6、以下不合法的用户标识符是
A、W32_KERB、doubleC、ASA4D、_10_
7.设a为int型变量,执行下列赋值语句后,a的取值分别是()。
a=125.534;a=(int)125.521%4;a=5<<2;
A125,31,1B125,1,20C125,31,20D125.534,2,20
8.设有如下程序段,下面描述中正确的是()。
intk=10;while(k=0)k=k-1;
A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次
9.以下程序的输出结果为()。
inti;
voidprt()
{for(i=5;i<8;i++)printf("%c",'*');
printf("\t");
}
main()
{for(i=5;i<=8;i++)prt();
}
A***B************C******D***
10、设a=9,b=6,c=7,d=10,m=4,n=4,执行(m=a>b)&&(n=c 11、表达式2.6-5/2+1.4+7%2的值是 A、4.3B、4.8C、3.3D、3 12、在以下一组运算符中,优先级最高的运算符是________ A、&&B、=C、<=D、! 13..在C语言程序中,以下说法正确的是( )。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 14.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A2B3C5D语法错误 15.以下程序的输出结果为()。 #defineADD(x)x*x main() {inta=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } Ad=70Bd=80Cd=140Dd=700 16、设有以下定义 inta=0; doubleb=1.25; charc=’E’; #defineW2 则下面语句中错误的是 A、a++B、b++C、c++D、W++ 17、设有定义: inta, int*pa=&a; 以下scanf函数语句中能正确为变量a读入数据的是 A、scanf(”%d”,a);B、scanf(”%d”,a); C、scanf(”%d”,&a);D、scanf(”%d”,*a); 18、假定所有变量均已正确说明,下列程序段运行后x的值是________ inta,b,c,x; a=b=c=0;x=35; if(! a)x--; if(b) x=3; else x=4; A、35B、4C、34D、3 19.已知职工记录描述如下,在TurboC中,系统为变量w分配()字节的空间。 structworker {intno; charname[20]; charsex; union {intday;intmonth;intyear;}birth; }w; A29B20C25D6 20.设有以下定义,值为5的枚举常量是()。 enumweek{sun,mon=4,tue,wed,thu,fri,sat}w; AtueBsatCfriDthu 21.下面选项中正确的赋值语句是(设chara[5],*p=a;)()。 Ap="abcd";Ba="abcd";C*p="abcd";D*a="abcd"; 22.设有以下程序段,则值为6的表达式是()。 structst{intn;structst*next;}; staticstructsta[3]={5,&a[1],7,&a[2],9,0},*p; p=&a[0]; Ap++->nB++p->nCp->n++D(*p).n++ 23、指向某变量的指针,其含义是指向该变量的 A、值B、地址C、名D、一个标志 24、设变量c为char类型,能正确判断出c为小写字母的表达式是 A、’a’<=c<=’z’B、(c>=’a’)||(c<=’z’) C、(c<=’a’)&&(c<=’z’)D、以上都不是 25、循环语句while和do-while的主要区别是 A、do-while循环体至少要无条件执行一次,while循环体可以一次都不执行 B、while的循环控制条件比do-while的循环控制条件更严格 C、do-while允许从外部跳转到循环体内 D、do-while的循环体不能是复合语句 26、当执行以下程序段时 x=8; do{x=x*x;}while(! x); A、循环体将执行一次B、循环体将执行两次 C、循环体将执行无限次D、系统将提示有语法错误 27、设有定义: inta[10];以下对a数组元素正确引用的是 A、a[10]B、a[3,5]C、a(5)D、a[10-10] 28、若用数组名作为函数的实参,传递给形参的是 A、数组的首地址B、数组第一个元素的值 C、数组中全部元素的值D、数组元素的个数 29、C语言允许函数类型缺省定义,此时函数值隐含的类型是 A、floatB、intC、longD、double 30、若有语句: char *line[5];,以下叙述中正确的是 A)定义line是一个数组,每个数组元素是一个基本类型为char的指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 31、若有定义“intx[5]={1,2,3,4,6};int*p=&x[1];”,则以下表达式中值为4的是 A)*(p+2) B)*(p+1) C)p+1 D)*p+2 32、下列字符数组初始化语句中,正确的是 A)charc[3][11]={"China","Guanzhou","University"}; B)charc[4][10]={"China","Guanzhou","University"}; C)charc[3][10]={"China","Guanzhou","University"}; D)charc[4][11]={"China,Guanzhou,University"}; 33、有以下程序 voidmain() {inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3];int*q=p+2; printf("%d\n",*p+*q); } 程序运行后的输出结果是 A)16B)10C)8D)6 34、[多选题]以下程序段执行后,a的值为1的是 A)inta=0,b=1,c;b=c;b=a;c=a; B)inta=0,b=1;a=a+b;b=a-b;a=a-b; C)inta=0,b=1,c;c=a;a=b;b=c; D)inta=0,b=1,c;c=a;b=a;b=c; 35、[多选题]以下叙述中正确的是 A)在一个函数内定义的变量只在本函数范围内有效 B)在不同的函数中可以使用相同名字的变量 C)在一个函数内的复合语句中定义的变量在本函数范围内有效 D)函数中的形式参数是局部变量 36、[多选题]以下不能对数组a进行正确初始化的语句是 A)inta[]={}; B)inta[4]={1,2,3}; C)inta[6]={0,1,2,3,4}; D)inta[]={1}; 37、[多选题]下述对C语言字符数组的描述正确的是 A)不可以用关系运算符对字符数组中的字符串进行比较 B)字符数组可以存放字符串 C)字符数组中的字符串可以整体输入、输出 D)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值 38、[多选题]若有定义"inty[]={0,1,2,3,4,5};int*p=y",则对y数组元素地址的正确引用是 A)&y B)p C)*p D)&p 二、填空题 1、在C语言中没有逻辑型数据,以______代表”真”,以_____代表”假”。 2、设x、y、z和k都是int型变量,则执行表达式x=(y=40,z=13,k=48)后,x的值为____________。 3、C的字符常量是用______________括起来的一个ASCII码字符。 4、能正确表示a和b同时为正或同时为负的表达式是__________________。 5、设x=3.5,a=7,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是______________。 6、C语言程序设计的基本单位是。 7、下面程序段中while循环语句执行次。 n=11; while(n=0)++n; 8、设二进制x的值是11001101,y的值是00001111,可通过运算,使得x中的低4位不变,高4位清零。 9、有以下语句段: intn1=15,n2=30; printf(’’”,n1,n2); 要求按以下格式输出n1,n2的值,每个输出行从第一列开始,请填空。 n1=15 n2=30 10、设intb=3;则表达式b<<4的值是。 11.有一个3*4矩阵,求其中的最大元素。 max_value( (1))intarray[3][4](intarray[][4]) {inti,j,max; max=array[0][0]; for(i=0;i<3;i++) for(j=0;j<4;j++) if(array[i][j]>max) max=array[i][j]; (2);return(max) } main() {inta[3][4],i,j; for(i=0;i<3;i++) for(j=0;j<4;j++) (3);scanf(“%d”,&a[i][j]) printf(“maxvalueis%d\n”,max_value(a)); } 12.输入x、y两个整数,按先大后小的顺序输出x、y。 #include“stdio.h” main() {intx,y,*px,*py,(4); scanf(“%d%d”,&x,&y); (5);(6); if(x {p=px;px=py;py=p;} printf(“x=%d,y=%d\n”,x,y); printf(“MAX=%d,MIN=%d\n”,*px,*py); } 三、阅读程序,写结果 1、以下主程序的输出结果是。 voidmain() {inta[]={1,2,3,4,5,6},*p,**q; p=a;q=&p; printf(“%d,%d\n”,*(p++),**q);} 2、以下函数与主程序 voidswap(char*x,char*y) {chart; t=*x; *x=*y; *y=t;} voidmain() {char*s1="abc",*s2="123"; swap(s1,s2);printf("%s,%s\n",s1,s2);} 程序执行后的输出结果是。 3.floataverage(floatarray[10]) {inti; floataver,sum=array[0]; for(i=1;i<10;i++) sum=sum+array[i]; aver=sum/10; return(aver); } main() {floatscore[10]={89,67.5,78,91,56,82.5,65,70,79,88},aver; inti; aver=average(score); printf(“averagescoreis%5.2f\n”,aver); }程序执行后的输出结果是。 4.main() {chara[5]={‘A’,‘B’,‘C’,‘D’,‘E’},*p=a,**pa;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 语言 期末 复习资料
![提示](https://static.bdocx.com/images/bang_tan.gif)