《C语言程序设计》考试复习题.docx
- 文档编号:4641946
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:17
- 大小:22.33KB
《C语言程序设计》考试复习题.docx
《《C语言程序设计》考试复习题.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》考试复习题.docx(17页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》考试复习题
2011-2012学年第一学期
《C语言程序设计》课程考试复习题
一、选择题
●正确的自定义标识符是()。
A.a=2B.a+bC.nameD.default
●错误的转义字符是
A.’\091’B.’\\’C.’\0’D.’\’’
●下列标识符中,哪个是合法的C变量名()。
A.%a234B.12_56C._5678D.int_r
●在C语言中,错误的常数是()
A.1E+0.0B.5C.0xafD.0L
●以下不正确的C语言标识符是()。
A.intB.a_1_2C.ab1exeD._x
●以下是正确的C语言标识符是()。
A.#defineB._123C.%dD.\n
●下列四组字符串中都可以用作C语言程序标识符的一组是()。
A.printB.i\amC.PxqD.str_l
_3done_halfMy->bookCpp
oodbstart$itline#pow
aBc3paiHis.agewhile
●下面各选项组中,均是C语言关键字的组是()。
A.auto,enum,include
B.switch,typedef,continue
C.signed,union,scanf
D.if,struct,type
●下列不属于C语言关键字的是()。
A.defaultB.register
C.enumD.external
●下列关于C语言的叙述错误的是()
A.大写字母和小写字母的意义相同
B.不同类型的变量可以在一个表达式中
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符号在不同的场合可以有不同的含义
●在C语言中,错误的int类型的常数是()。
A.32768B.0C.037D.0xAF
●执行语句printf("%x",-1);屏幕显示()。
A.-1B.1C.-ffffD.ffff
●已知longi=32768;执行语句printf("%d",i);屏幕显示()。
A.-1B.-32768C.1D.32768
●已知longi=65539;
执行语句printf("%d",i);屏幕显示____。
A.65539B.-3
C.3D.程序不能执行
●在C语言中,整数-8在内存中的存储形式是。
A.1111111111111000B.1000000000001000
C.0000000000001000D.1111111111110111
●C语言中字符型(char)数据在内存中的存储形式是____。
A.原码B.补码C.反码D.ASCII码
●将字符g赋给字符变量c,正确的表达式是。
A.c=\147B.c="\147"C.c='\147'D.c='0147'
●下列转义字符中错误的一个是____。
A.'\000'B.'\0014'C.'\x111'D.'\2'
●以下说法正确的是()。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main函数中定义
C.C语言程序总是从main函数开始执行
D.C语言程序中的main函数必须放在程序的开始部分
●C语言程序从main()函数开始执行,所以这个函数要写在()。
A.程序文件的开始B.程序文件的最后
C.它所调用的函数的前面D.程序文件的任何位置
●下列哪一项不是C语言的基本数据类型()。
A.int(整型)B.float(实型)
C.datetime(日期)D.char(字符型)
●C语言中最简单的数据类型包括
A.整型、实型、逻辑型B.整型、实型、字符型
C.整型、字符型、逻辑型D.整型,实型,逻辑型,字符型
●变量的指针含意是指变量的
A.值B.地址C.存储D.名字
●关系表达式a≤x
A.a<=x (x=b) ●数字12345写入二进制文件和文本文件所占用的字节数分别是 A.5,5B.5,2C.2,2D.2,5 ●函数调用语句是: fun(e1,(e2,e3),(e4,e5,e6));实在参数的个数是 A.1B.2C.3D.6 ●设置inta[10],*p=a;与a[1]等价的是 A.*(a+1)B.*(p+1)C.p[1]D.(*p)++ ●在C语言中,正确的说法是 A.函数内部和外部定义的变量同名是合法的 B.没有return的函数就失去了返回功能 C.变量的定义和声明(也称说明)功能是相同的 D.只要形参和实参都是变量,那么形实结合一定是地址传递 ●下述对C语言字符数组的描术中错误的是 A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入、输出 C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D.不可以用关系运算符对字符数组中的字符串进行比较 ●C语言的关键字是 A.NULLB.fileC.includeD.typedef ●正确的自定义标识符是 A.ifB.iFC.a*bD.8bq ●设inta=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是 A.0,0,0B.0,5,5C.1,5,6D.1,6,7 ●有以下程序段 intk=0;while(k=1)k++; while循环执行的次数 A.无限次B.有语法错,不能执行 C.一次也不执行D.执行1次 ●当调用函数时,实参是一个数组名,则向函数传递的是 A.数组的长度B.数组每一个元素地址 C.数组的首地址D.数组每个元素中的值 ●为了向二进制文件尾部增加数据,打开文件的方式应采用 A.″ab″B.″rb+″C.″wb″D.″wb+″ ●设有inta[]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是 A.10,11,12B.11,12,12 C.10,12,12D.11,11,12 ●设有inti,j,k;则表达式i=1,j=2,k=3,i&&j&k的值为 A.0B.1C.2D.3 ●某文件中定义的静态全局变量(或称静态外部变量)其作用域是 A.只限某个函数B.本文件C.跨文件D.不限制作用域 ●C语言中文件的存取的单位是 A.函数B.语句C.字节D.记录 ●设inta=3,b=4;执行printf("%d,%d",(a,b),(b,a));后的输出结果是 A.3,4B.4,3C.4,4D.3,3 ●设有inti,j,k;则表达式i=1,j=2,k=3,i&&j&k的值为 A.0B.1C.2D.3 ●设chars[10],*p;正确的操作语句是 A.p="MBA";B.s++; C.s="MBA";D.s[]="MBA" ●设inta,*p;则语句p=&a;中的运算符“&”的含义是 A.位与运算B.逻辑与运算 C.取指针内容D.取变量地址 ●设有数组定义: chararray[]="China";则数组array所占的空间为 A.4字节B.5字节C.6字节D.7字节 ●C语言的源文件名的后缀是()。 A.rarB.cC.exeD.obj ●在C语言中,能正确表示整数a能被10整除的是()。 A.a/10==0B.a/10! =0C.a%10==0D.a%10=0 ●结构化程序设计所规定的三种基本控制结构是()。 A.输入、处理、输出B.星形、网形、环形 C.顺序、选择、循环D.主程序、子程序、函数 ●设有程序 main() { inti; for(i=0;i<5;i++) printf("&"); printf("*"); } 则程序运行结果为()。 A.&&&&&*B.*&*&*&*&*& C.*&D.程序有错误 ●c语言中不合法的字符串常量是()。 A.“\245”B.‘uuu’ C.“\nxy\n”D.“0987654321” ●若有一已赋值的连续存储单元,指针p已正确定义,且指向此连续存储单元的起始地址,以下叙述正确的是 A.表达式: *p++;使p所指存储单元中的值增1。 B.表达式: (*p)++;使指针p向高地址移动一个存储单元。 C.表达式: (*p)++;使p所指存储单元中的值增1。 D.表达式: ++*p;使指针p向高地址移动一个存储单元。 ●函数返回值的类型是由 A.return决定B.调用函数决定 C.定义函数时指定D.main函数决定 ●以下叙述中错误的是 A.实参和形参的类型必须赋值兼容 B.实参和形参的个数必须相同 C.形参不能把数据传给实参 D.实参和形参按相同的名字传递数据 ●有以下函数调用语句: func(a,b,(a+b,a-b,a*b),a=b==a); 其中含有的实参个数是 A.2B.3C.4D.5 ●设有程序 main() { intk=1,n=0; switch(k) { default: break; case1: n=1; case2: ++n; case3: n++; } printf("%d",n); } ●则程序运行成功后,n的值为()。 A.0B.1C.2D.3 ●设有程序 main() { intj; for(j=1;j<10;j++) { if(j%2==0)break; printf("%d",j); } } 程序运行结果为()。 A.0B.1C.2D.无输出 二、填空题 ●在C语言中,数的进制有()进制、()进制、()进制和()进制。 ●程序的控制结构是()、()、()。 ●设有数组floata[10][5],已知数组的首地址为2000,请问数组元素a[3][2]的地址是()。 ●“20>a>30”的C语言表达式是()。 ●在C语言中,单目运算符的结合方向(运算方向)是();唯一的一个三目运算符是()。 ●能正确表示“当ch为小写字母为真,否则为假”的表达式是。 ●循环语句for(;;)printf("OK\n");和do{printf("OK\n");}while(0);执行完毕循环,循环次数分别是()和()。 ●若有说明inti,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为() ●结构化程序设计的三种基本结构是: 选择结构、循环结构和________________。 ●在C语言中,一个二维数组可以看成若干个()数组。 ●文件操作步骤通常是: 打开、操作和()。 ●一个C语言程序总是从()开始执行 ●设宏定义#defineD(x)x/x,则引用D(2+3)后的值是()。 ●以下十个运算符+! < =,? : &&=||%中优先级别最高和最低的分别是()和()。 ●文件操作方式"w"和"rb+"的含义分别是()和()。 ●文件操作步骤通常是: 打开、操作和()。 ●设inta,b=2,c=3;执行表达式a=(b>c)? (b+1): (c+2),3后a的值是()。 ●FILE*fp;当文件结束时,结束标志EOF值和函数feof(fp)的返回值分别是()和()。 ●编译预处理的三种形式除宏定义外,还有()和()。 ●语句int(*p)()的含义是(). 三、判断题 1、C语言可以定义多个主函数(main)。() 2、变量必须“先定义,后使用”。() 3、正确的C程序不允许出现死循环。() 4、C语言提供了两种选择机制,分别是if语句与switch语句。() 5、程序中必须用函数fopen()去打开标准输入/输出设备文件。() 6、for循环只能适合有固定次数的循环结构问题。() 7、局部变量是在函数内部定义的变量。() 8、实际参数和形式参数的类型必须一致。() 9、定义数组大小的常量表达式可以是常量,也可以是变量。() 10、从键盘输入整数给变量a的代码行是: inta;scanf("%d",a);。() 四、程序阅读题 ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inta=100; printf("%d,%d\n",a==100,a=100); } ●阅读程序,写出程序的输出结果___________。 #include voidfun(int*p,int*q) { int*t; t=p;p=q;q=t; } voidmain() { inta=100,b=20; fun(&a,&b); printf(“%d,%d\n”,a,b); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { floata; a=1/100000000; printf("%g\n",a); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { chars[12]="abook"; printf("%.4s\n",s); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { intx=10; x=x=20; printf("%d\n",x); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { unsignedshortn; shorti=-1; n=i; printf("n=%u\n",n); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { intx=10,y=10; printf("%d%d\n",x--,--y); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { intn=1; printf("%d%d%d\n",n,n++,n--); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { intx=0x02ff,y=0x0ff00; printf("%d\n",(x&y)>>4|0x005f); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inta=1; charc='a'; floatf=2.0; printf("%d\n",(! (a==0),f! =0&&c=='A')); } ●阅读程序,写出程序的输出结果___________。 则x.month的值为_______。 #include voidmain() { structdate {intyear,month,day;}x={2011,10,10}; printf("%d\n",x.day); } ●阅读程序,写出程序的输出结果___________。 #include #defineN1+10 #defineM5 voidmain() {printf(“%d\n”,N*M/2);} ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inti=1; while(i<=10) if(++i%2! =0)continue; elseprintf("%3d",i); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { intj; for(j=4;j>=2;j--) switch(j) { case0: printf("%5s\n","ABC"); case1: printf("%5s\n","DEF"); case2: printf("%5s\n","GHI");break; case3: printf("%5s\n","JKL"); default: printf("%5s\n","MNO"); } } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { charstr='k'; str=str-32; printf("%c\n",str); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { char*p,s[]="ABCDEFG"; p=s; while(*p! ='\0') { printf("%s\n",p); p++; if(*p! ='\0'); elsebreak; } } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inta[]={1,3,5,7,9}; int*p=a; printf("%d,%d\n",*p,*(a+2)); printf("%d,%d\n",*(p+3),*p++); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() {inti=0,s=0; do { if(i%2) { i++;continue; } i++; s+=i; }while(i<7); printf("%d\n",s); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inta=5,b=4,c=6,d; printf("%d\n",d=a>b? (a>c? a: c): (b)); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inti=0; while(i<10) { if(i<1)continue; if(i==5)break; i++; } printf("%d\n",i+1); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { intk=0 while(k=1) k++; while循环执行的次数是___________ A)无限次B)有语法错,不能执行 C)一次也不执行D)执行1次 ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inta,b,c=0; a=b=c=0; intx=35; if(! a)x--; elseif(b); if(c)x=3; elsex=4; printf("%d%d%d%d\n",a,b,c,x); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inta=1,i=a+1; do { a++; }while(! ~i++>3); printf("%d\n",a); } ●阅读程序,写出程序的输出结果___________。 #include voidmain() { inta=111; a=a^00; printf("%d,%o\n",a,a); } 以下程序用来统计文件中字符的个数,假设文件aaa.txt已存在。 ●请补充程序空白处,完成程序功能。 #include“stdio.h” voidmain() { FILE*fp; longnum=0; charch; if((fp=fopen(“aaa.txt”,“_____________”))==NULL) { printf(“openfileerror! \n”);exit(0); } while(! feof(fp)){ch=fget(fp);num++;} printf(“num=%d\n”,num); fclose(fp); } 五、程序设计题 1、编写程序,计算1/1-1/3+1/5-1/7+···+1/1000的值,并输出结果。 2、编写程序,从键盘输入20个浮点数数给一维数组a,并求这十个元素之的最大值。 3、编写程序,输出以下图形(要求用循环语句完成)。 ******* ***** *** * 4、有1,2,3,4这4个数字,能组成多少个互不相同且无重复数字的3位数? 编写程序并打印这些3位数。 5、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。 6、输入一行字符,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 考试 复习题