C语言考试.docx
- 文档编号:26363860
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:27
- 大小:25.25KB
C语言考试.docx
《C语言考试.docx》由会员分享,可在线阅读,更多相关《C语言考试.docx(27页珍藏版)》请在冰豆网上搜索。
C语言考试
《C语言程序设计》课程考试题库
第一章C语言概述
一、单项选择题
1、C语言规定,必需用()作为主函数名。
答案:
C
2、()是C程序的大体组成单位。
A.函数B.函数和进程C.超文本进程D.子程序
答案:
A
3、在C语言中,每一个语句和数据概念是用()终止。
A.句号B.逗号C.分号D.括号
c
二、判定题
1、一个C程序能够包括任意多个不同名的函数,但有且仅有一个主函数。
()
答案:
正确
2、C语言规定:
在一个源程序中,main函数的位置必需在最开始。
()
答案:
错误
3、在C程序中语句是以分号终止的。
()
答案:
正确
第二章程序的灵魂——算法
一、单项选择题
1、一个算法应该具有“确信性”等5个特性,下面对另外4个特性的描述中错误的选项是()。
A.有0个或多个输入B.有0个或多个输出C.有穷性D.可行性
答案:
B
2、以下表达中正确的选项是()。
A.C语言比其它语言高级。
B.C语言能够不用编译就能够够被运算机识别执行。
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D.C语言显现的,具有其它语言的一切优势。
答案:
C
3、以下表达正确的选项是()。
A.C语言的源程序没必要通过编译就能够够够直接运行。
B.C语言中的每条可执行语句最终都将被转换成二进制的机械指令。
C.C语言源程序经编译形成的二进制代码能够直接运行。
D.C语言中的函数不能够单独进行编译。
答案:
B
答案:
B
二、判定题
1、C语言的书写格式可不能阻碍程序的可读性。
()
答案:
错误
2、C语言程序实现与其他高级语言一样也要通过编辑、编译连接和运行如此的三步曲。
()
答案:
正确
3、健壮的算法可不能因为非法输入而显现莫名其妙的状态。
()
答案:
正确
第三章数据类型运算符与表达式
一、单项选择题
1、以下字符串是标识符的是()。
1
答案:
A
2、()不是C语言提供的合法关键字。
答案:
B
3、判定字符型变量ch为小写字母的表达式是()。
A.’a’<=ch<=’z’B.(ch>=a)&&(ch<=z)
C.(ch>=’a’)||(ch<=’z’)D.(ch>=’a’)&&(ch<=’z’)
答案:
D
4、在C语言中,回车换行符是()。
A.\nB.\tC.\vD.\b
答案:
A
5、设整型变量a值为9,那么以下表达式中使b的值不为4的表达式()。
=a/2=a%2
=8-(3,a-5)=a>5?
4:
2
答案:
B
6、能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。
A.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
B.(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
C.(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D.(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
答案:
B
7、10+’a’+的结果是()型数据。
float
答案:
B
8、设a、b和c是int型变量,且a=2,b=4,c=6,那么下面表达式中值为0的是()。
A.‘a’+‘b’<=b||b+c&&b-cD.!
((a
c||1)
答案:
B
9、已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为()。
main()
{charc=’A’;inti=10;
c=c+10;
i=c%i;
printf(“%c,%d\n”,c,i);
}
7,5,5D.因存在非图形字符,无法直接显示出来
答案:
C
10、C语言中最简单的数据类型包括()。
A.整型,实型,逻辑型B.整型,实型,字符型
C.整型,字符型,逻辑型D.整型,实型,逻辑型,字符型
答案:
B
11、C语言中,运算对象必需是整型数的运算符是()。
A.%B.\C.%和\D.**
答案:
A
12、下面程序的输出结果是()。
mian()
{intx=2,y=0,z;
x*=3+2;printf(“%d”,x);
x*=y=z=4;printf(“%d”,x);
}
4040,4,4
答案:
B
13、下面程序的输出结果是()。
main()
{inti,j;
i=16;j=(i++)+i;printf(“%d”,j);
i=15;printf(“%d%d”,++i,i);
}
1615151515161615
答案:
A
14、假设已概念X和Y为double类型,那么表达式:
x=1,y=x+3/2的值为()。
答案:
C
二、判定题
1、在C语言中,整型数据与字符型数据在任何情形下都能够通用。
()
答案:
错误
2、在C语言程序中,AHP和ahp别离代表两个不同的标识符。
()
答案:
正确
3、在C语言中,int、char和short三种类型数据在内存中所占用的字节数都是由用户自
己概念的。
()
答案:
错误
4、在C程序中一行内能够写几个语句,一个语句能够分写在多行上。
因此,并非是每一条C语句都必需有一个分号的。
()
答案:
错误
5、在C语言程序中,happy是正确的标识符。
()
答案:
正确
6、标准格式输入函数scanf()
能够从键盘上接收不同数据类型的数据项。
()
答案:
正确
7、浮点型常量的指数表示中,e是能够省略的。
()
答案:
错误
第四章最简单的C程序设计——顺序程序设计
一、单项选择题
1、C语言中挪用printf进行输出时需要注意,在格式操纵串中,格式说明与输出项的个数必需相同,假设是格式说明的个数小于输出项的个数,多余的输出项将()。
A.不予输出B.输出空格C.照样输出D.输出不定值或0
答案:
A
2、为了表示关系x>=y>=z,应利用C语言表达式()。
A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)
C.(x>=y>=z)D.(x>=y)&(y>=z)
答案:
A
3、假设已概念inta=25,b=14,c=19;以下三项运算符(?
:
)所组成的语句的执行结果是()。
a++<=25&&b--<=2&&c++?
printf("***a=%d,b=%d,c=%d\n",a,b,c):
printf("###a=%d,b=%d,c=%d\n",a,b,c)
A.(***a=25,b=14,c=19)B.(***a=26,b=13,c=19)
C.(###a=25,b=14,c=19)D.(###a=26,b=13,c=19)
答案:
D
4、以下程序的输出结果是()。
main()
{
inti=010,j=10,k=0x10;
printf("%d,%d,%d\n",i,j,k);}
10,16,10,10,10,10,10,16
答案:
A
5、以下程序的输出结果是()。
#include<>
main()
{printf("%d\n",NULL);}
A.不确信的值
答案:
B
6、以下程序的输出结果是()。
main()
{
charc1='6',c2='0';
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);
}
A.因输出格式不合法,输出犯错信息,0,6,102
0,7,6,0,5,7
答案:
B
7、设有如下概念:
intx=10,y=3,z;那么语句printf("%d\n",z=(x%y,x/y));输出结果是()。
答案:
A
8、以下程序的输出结果是()。
main()
{
intx=10,y=10;
printf("%d%d\n",x--,--y);
}
109109
答案:
D
9、下面程序的输出结果()。
main()
{
intx;
x=-3+4*5-6;printf("%d",x);
x=3+4%5-6;printf("%d",x);
x=-3*4%6/5;printf("%d",x);
x=(7+6)%5/2;printf("%d",x);
}
101-321-321121
答案:
A
10、以下程序的输出结果是()。
main()
{
inta=-1,b=4,k;
k=(++a<=0)&&!
(b--<=0);
printf("%d%d%d",k,a,b);
}
04040303
答案:
C
二、判定题
1、C程序有三种结构化程序设计方式,别离顺序结构、选择结构和循环结构。
()
答案:
正确
2、程序是按书写的顺序执行的。
()
答案:
错误
3、假设是要想在知足条件时执行一组(多个)语句,那么必需把这一组语句用{}括起来组成一个复合语句。
()
答案:
正确
第五章选择结构的程序设计
一、单项选择题
1、分析以下程序:
main()
{intx=5,a=0,b=0;
if(x=a+b)printf(“****\n”);
elseprintf(“####\n”);
以上程序()。
A.有语法错,不能通过编译B.通过编译,但不能连接
C.输出****D.输出####
答案:
D
2、两次运行下面的程序,假设是从键盘上别离输入6和4,那么输出结果是()。
main()
{intx;
scanf(“%d”,&x);
if(x++>5)printf(“%d”,x);
elseprintf(“%d\n”,x--);
}
和5和3和4和4
答案:
A
3、在C的if语句中,可用作判定的表达式是()。
A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式
答案:
D
4、假定所有变量均已正确说明,以下程序段运行后x的值是()。
a=b=c=0;x=35;
if(!
a)x=-1;
elseif(b);
if(c)x=3;
elsex=4;
答案:
B
5、如有以下变量概念:
floatx;inta,b;
那么正确的switch语句是()。
(x)
{case:
printf("*\n");
case:
printf("**\n");
}
(x)
{case1,2:
printf("*\n");
case3:
printf("**\n");
}
(a+b)
{case1:
printf("*\n");
case2*a:
printf("**\n");
}
(a+b)
{case1:
printf("*\n");
case1+2:
printf("**\n");
}
答案:
D
6、在C语言中,多分支选择结构语句为
switch(c)
{case常量表达式1:
语句1;
……
case常量表达式n-1:
语句n-1;
default语句n;}
其中括号内表达式c的类型()。
A.能够是任意类型B.只能为整型
C.能够是整型或字符型D.能够为整型或实型
答案:
C
7、当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为()。
if(a
if(c else if(a if(b elsex=3; elsex=6; elsex=7; 答案: A 二、判定题 1、条件表达式不能取代一样if的语句。 () 答案: 错误 2、在if语句中,if子句与else子句都能够单独利用,组成了if语句的两种缺省形式。 () 答案: 错误 3、在C语言中,逗号既能够作为运算符,也能够作为分隔符。 () 答案: 正确 4、在if语句中,不能够没有else子句。 () 答案: 错误 5、在switch语句中,每一个的case常量表达式的值能够相同。 () 答案: 错误 6、在C语言的if语句中,用作条件判定的表达式只能是关系和逻辑表达式。 () 答案: 错误 7、在C语言中break和continue都是循环半途退出语句,其中break语句用来跳出一层循环结构;continue语句用来终止一次循环。 () 答案: 正确 第六章循环结构程序设计 一、单项选择题 1、while循环语句中,while后一对圆括号中表达式的值决定了循环体是不是进行,因此,进入while循环后,必然有能使此表达式的值变成(),不然,循环将会无穷制地进行下去。 C.成立 答案: A 2、在do-while循环中,循环由do开始,用while终止,必需注意的是: 在while表达式后面的()不能丢,它表示do-while语句的终止。 C.;D., 答案: C 3、for语句中的表达式能够部份或全数省略,但两个()不可省略。 但当三个表达式均省略后,因缺少条件判定,循环会无穷制地执行下去,形成死循环。 C.;D., 答案: C 4、程序段如下 intk=1; while(! k==0) {k=k+1;printf("%d\n",k);} 说法正确的选项是()。 循环执行2次B.循环是无穷循环 C.循环体语句一次也不执行D.循环体语句执行一次 答案: B 5、以下for循环是()。 for(a=0,b=0;(b! =123)&&(a<=4);a++) A.无穷循环B.循环次数不定C.执行4次D.执行5次 答案: D 6、在以下程序中,while的循环次数是()。 main() {inti=0; while(i<10) {if(i<1)continue; if(i==5)break; i++; } ...... } D.死循环、不能确信次数 答案: D 7、执行下面的程序后,a的值为()。 main() {inta,b; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) {b+=3; continue; } b-=5; } } 答案: B 8、以下程序的输出结果()。 main() { intx=3; do {printf("%3d",x-=2); }while(--x); } 0-2D.死循环 答案: A 9、以下能正确计算1×2×3×…×10的程序段是()。 {i=1;s=1;s=s*i;i++;}while(i<=10); {i=1;s=0;s=s*i;i++;}while(i<=10); =1;s=1;do{s=s*i;i++;}while(i<=10); =1;s=0;do{s=s*i;i++;}while(i<=10); 答案: C 10、下面有关for循环的正确描述是()。 循环只能用于循环次数已经确信的情形 循环是先执行循环体语句,后判定表达式 C.在for循环中,不能用break语句跳出循环体 循环的循环体语句中,能够包括多条语句,但必需用花括号括起来 答案: D 二、判定题 1、do-while循环的while后的分号能够省略。 () 答案: 错误 2、在多层循环中,一个break语句只向外跳一层。 () 答案: 正确 3、do-while循环至少要执行一次循环语句。 () 答案: 正确 4、C语言中while和do-while循环的要紧区别是while语句的循环体至少会被执行一次,而do-while语句的循环体那么可能一次也不执行。 () 答案: 错误 5、for语句作为循环操纵语句时,其括号内各个表达式及其后的分号都可缺省。 () 答案: 错误 6、C语言的三种循环不能够彼此嵌套。 () 答案: 错误 7、continue只能用于循环体中。 () 答案: 正确 第七章数组 一、单项选择题 1、概念如下变量和数组: inti; intx[3][3]={1,2,3,4,5,6,7,8,9}; 那么下面执行语句的结果为()。 for(i=0;i<3;i++) printf(“%3d”,x[i][2-i]); 5947 5769 答案: C 2、在C语言中,引用数组元素时,其数组下标的数据类型许诺是()。 A.整型常量B.整型常量或整型表达式 C.整型表达式D.任何类型的表达式 答案: B 3、以下对一维整型数组a的正确说明是()。 a(10);B.intn;scanf(“%d”,&n);inta[n]; C.intn=10,a[n];D.#defineSIZE10inta[SIZE]; 答案: D 4、如有说明语句: charc=‘\64’;那么变量C包括()。 个字符个字符 个字符D.说明不合法,C值不确信。 答案: A 5、判定字符串a和b是不是相等,应当利用()。 (a==b)(a=b)(strcpy(a,b))(strcmp(a,b)) 答案: D 6、下面程序的运行结果是()。 main() { inta[6],i; for(i=1;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%2d",a[i]); } } 0404040304430440 答案: C 7、如有说明: inta[3][4]={0};那么下面正确的表达是()。 A.只有元素a[0][0]能够取得初值0 B.此说明语句不正确 C.数组a中每一个元素都可取得初值0 D.数组a每一个元素都可取得初值,但值没必要然为0 答案: C 8、下面几个字符串处置表达式中能用来把字符串str2复制到字符串str1后的是()。 (str1,str2);(str2,str1); (str1,str2);(str1,str2); 答案: C 9、如有二维数组a[m][n],那么数组中a[i][j]之前的元素的个数为()。 *m+i*n+j*m+j+1*n+j+1 答案: D 10、设有charstr[10],以下语句正确的选项是()。 ("%s",&str);("%c",str); ("%s",str[0]);("%s",str); 答案: D 二、判定题 1、字符串能够用来给数组赋值,在C程序的执行语句中能够直接用字符串给数组名赋值。 () 答案: 错误 2、数组名也可作为函数参数利用,此刻数组名代表数组的起始地址。 () 答案: 正确 3、数组在概念时没有必要指定数组的长度,其长度能够在程序中依照元素个数再决定。 () 答案: 错误 4、数组首地址不仅能通过数组中第一个元素的地址表示,也能够通过数组名来表示。 () 答案: 正确 5、C语言中,字符串常量寄放在字符数组中要有一个终止符,该终止符是0。 () 答案: 错误 6、在对数组全数元素赋初值时,不能够省略行数,但能省略列数。 () 答案: 错误 7、数组名能与其它变量名相同,数组名后是用方括号括起来的常量表达式,不能用圆括号。 () 答案: 正确 第八章函数 一、单项选择题 1、以下函数概念正确的选项是()。 fun(intx,inty)fun(intx;inty) C.doublefun(intx,inty);fun(intx,y) 答案: A 2、C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是()。 A.地址传递B.单向值传递C.双向值传递D.由用户指定传递方式 答案: B 3、以下关于C语言程序中函数的说法正确的选项是()。 A.函数的概念能够嵌套,但函数的挪用不能够嵌套; B.函数的概念不能够嵌套,但函数的挪用能够嵌套; C.函数的概念和挪用均不能够嵌套; D.函数的概念和点用都能够嵌套。 答案: B 4、一个数据类型为void的函数中能够没有return语句,那么函数的被调历时()。 A.没有返回值B.返回一个系统默许值 C.返回值由用户临时决定D.返回一个不确信的值 答案: D 5、以下说法不正确的选项是()。 A.实参能够是常量、变量或表达式B.形参能够是常量、变量或表达式 C.实参能够是任意类型D. 形参应与其对应的实参类型一致 答案: B 6、以下函数的功能是: 通过键盘输入数据,为数组中的所有元素赋值。 #defineN10 voidarrin(intx[N]) {inti=0; while(i scanf("%d",_________); } 在下划线处应填入的是()。 +iB.&x[i+1]+(i++)D.&x[++i] 答案: C 7、以下说法正确的选项是()。 A.一个函数的函数体必需要有变量概念和执行部份,二者缺一不可 B.一个函数的函数体必需要有执行部份,能够没有变量概念 C.一个函数的函数体能够没有变量概念和执行部份,函数能够是空函数 D.以上都不对 答案: C 8、假设用数组名作为函数挪用的实参,传递给形参的是()。 A.数组的首地址B.数组第一个元素的值 C.数组中全数元素的值D.数组元素的个数 答案: A 9、假设是在一个函数中的复合语句中概念了一个变量,那么该变量()。 A.只在该复合语句中有效B.在该函数中有效 C.在本程序范围内有效D.为非法变量 答案: A 10、有以下程序 voidf(intx,inty) {intt; if(x {t=x;x=y;y=t;} } main() {inta=4,b=3,c=5; f(a,b);f(a,c);f(b,c); printf("%d,%d,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 考试