C考试系统题库含答案(1)
更新时间:2023-12-01 11:17:01 阅读量: 教育文库 文档下载
- 考试系知始终推荐度:
- 相关推荐
1
第一章 C语言基础知识
(C语言概述、算法、数据类型 运算符 表达式、位运算)
一、
判断题(正确的填A,错误的填B)
R1.在C语言中,逗号运算符的优先级最低。(A)
2.在C语言可执行程序的开始执行点是程序中第一个函数。(B) 3.“5ch”是合法的变量名。(B)
4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(A)
5.当输入数据时,必须指明变量的地址,如scanf(\ (A) N6.表达式i++与++i在任何场合功能完全相同。(B)
7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。(A)
R8.C语言程序中,语句以逗号结尾。( B )
9.在 C 程序中,APH 和aph 代表不同的变量。( A ) 10. a-=7等价于a=a-7。( A )
N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按原字符长从左向右全部输出。(A ) 12.如果x>y为真或ay)&&(a
14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。( B )
15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。(B ) 16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。(A) 17. 运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符(B) 18.对应float类型的变量,也可以用等号“==”进行数值的判断。(B) 19.表达式:1 && 3.14 和 1 & 3 的值一样大。(B)
20. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。(A) 21、任何C程序都是从main函数开始和结束;(A) 22. 在C程序中,使用分号“;”表示语句的结束。(A ) 23. C程序中的必须要有至少一个main的函数,可以有多个。( B ) 24. 在C程序中,无论是整数还是实数,都能准确无误的表示。( B ) 25. 在C程序中,赋值运算符的优先级最低。(B )
26. 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。( B )
27. 在C程序中,变量可以一边定义一边使用。( B ) 28. C程序中的注释部分可有可无,可以省略。( A) 29.字符型变量可以存放多个字符。( B )
30.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。( B )
2
5.在C程序中,无论是整数还是实数,都能被准确无误地表示。(B ) 1.一个C程序的执行是从本程序的main函数开始,到main函数结束。(A)
4.运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符(B) 二、
单项选择题
R1、以下标识符中,不能作为合法的C用户定义标识符的是:( ) A .a3_b3 B.void C._123 D.abc R2、C语言规定:在一个源程序中,main函数的位置( )。 A.必须在最后 B.必须在系统调用的库函数的后面。 C.必须在最开始。 D.可以任意 R3、下列说法中正确的是( )。 A. C程序书写时,不区分大小写字母 B. C程序书写时,一行只能写一个语句 C. C程序书写时,一个语句可分成几行书写 D. C程序书写时每行必须有行号
4、 已知ch是字符型变量,下面不正确的赋值语句是 ( )。 A.ch = 5 + 9 ; B.ch= ' a + b '; C. ch = ' \\ 0 '; D. ch= '7' + '6' ; 5、 若有定义:int a = 7; float x = 2.5 , y = 4.7 ; 则表达式 x + a % 3 * (int) (x + y) % 2/4 的值是( )。 A. 2.750000 B. 0.00000 C. 3.500000 D. 2.500000 6.已知ch是字符型变量,下面正确的赋值语句是( )。
A.ch = '123' ; B. ch=' \\08 '; C. ch =' \\xff '; D.ch =\
1. 以下标识符中,不能作为合法的C用户定义标识符的是:____________。 A)a3_b3 B)void C)_123 D)abc 2.C语言中,运算对象必须是整型的运算符是__________。 A) % B) / C) %和/ D) *
7. 在 C 程序中,用___________表示逻辑值“真”。
A)1 B)非 0 的数 C)非 1 的数 D) 大于 0 的数 N8.设int c=5和int a; a=2+(c+=c,c+8,++c), 则a=__________ A) 15 B) 14 C) 13 D) 16
9.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符________。
A)必须为字母或下划线。 B)必须为下划线。
C)必须为字母 D)可以是字母、数字和下划线中的任一种字符。 10. 若变量已正确定义并赋值,表达式____________不符合C语言语法。 A)a*b/c; B)3.14%2 C)2, b D)a/b/c 11. 下列说法中正确的是___________。
A) C程序书写时,不区分大表达式小写字母
3
B) C程序书写时,一行只能写一个语句 C) C程序书写时,一个语句可分成几行书写 D) C程序书写时每行必须有行号
12.为表示数学关系x≥y≥z,正确的C语言表达式是__________。 A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y)&(y>=z) 13.不合法的八进制数是________
A) 0 B) 028 C) 077 D)01 14、以下不能定义为用户标识符是 A Main
B _0
C _int
D sizeof
15.若x=5,y=4 则y*=x+5; y的值为( )。
A. 40 B. 20 C B. 15 D. 30 16、组成C语言程序的基本单位是( )。
A) 过程 B) 子程序
C) 函数 D) 主程序和子程序 17.下列哪个标识符是C语言合法的标识符( )。
A) a*b B) -xyz C) ba2 D) 5i
N18.若有定义:int a=7; float x=2.5, y=4.7; 则表达式x+a%3*(int)(x+y)/4的值是( )。
A) 2.75 B) 3.5 C) 2.5 D) 0 19.设int m=1,n=2;则++m= =n的结果是( )
A、0 B、1 C、2 D、3 N20. 若变量已定义并赋值,下列符合C语法的表达式是:( A、a:=b+1 B、a=b=c+2 C、int 18.5%3 D、a=a+7=c+b
R(3)在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和数据,则表达式最后的运算结果类型是( ) A.int B.char C.unsigned D.long
R21.C语言中基本的数据类型包括__________。
A) 整型、实型、逻辑型 B) 整型、实型、字符型
C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型
N22. 若定义x和y为double类型,则表达式:x=2,y=x+5/2的值是__________ A) 4 B) 4.5 C) 4.0 D) 3.0 23. 在以下运算符中,优先级最高的运算符是__________
A) ? : B) ++ C) && D) +=
4
)
24.C语言中基本的数据类型不包括__________。 A) 整型 B)字符串型 C)字符型 D)实型
25. 若定义int x=7,y=5,z;则表达式:z=x+5/2*y的值是__________ A) 7 B) 7.5 C) 17 D) 19.5
6.以下说法中正确的是( )
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义 C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分 (1)设int a=2,b;则执行b=a&&1;语句后,b的结果是( ) A.0 B.1 C.2 D.3
N(2)逗号表达式(a=3*5,a*4),a+15的值是( )
A.15 B.60 C.30 D.75
7. 若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不同:
A) a!=0 B) a!=’\\0’ C) a D) !a 8. 在以下运算符中,优先级最高的运算符是__________
A) , B) [ ] C) && D) += 9. 在C语言中,逻辑值“真”用__________表示。
A) true B) 大于0的数 C) 非0的整数 D) 非0的数 10. 表达式__________是满足:当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式
A) (c=1)||(c=3)||(c=5) B) (c!=1)&&(c!=3)&&(c!=5) C) (c==1)&&(c==3)&&(c=5) D) (c==1)||(c==3)||(c==5) 1.C语言中,int类型数据占2个字节,则long类型数据占( )
A、1个字节 B、2 个字节 C、3个字节 D、4个字节 1.下列字符串是合法的标识符的是( )。
A、_HJ B、9_student C、 long D、LINE 1 2.下列说法中正确的是( )。
A、 C程序书写时,不区分大小写字母 B、 C程序书写时,一行只能写一个语句
C、 C 程序书写时,一个语句可分成几行书写
5
D、 C程序书写时每行必须有行号
3.在C语言中,要求参加运算的数必须是整数的运算符是( )。 A、/ B、! C、% D、= = 4.C语言中,逻辑“真“等价于( )。
A、大于零的数 B、大于零的整数 C、非零的数 D、非零的整数
6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示
代数式1/abc的表达式是( )。
A、1/a*b*c B、1/(a*b*c) C、1/a/b/(float) c D、1.0/a/b/c 1.下列合法的字符常量是( )。
A、'\\084'
B、'\\x43'
C、'ab'
)
D、sturct D、\
2.在C语言提供的合法的关键字是(
A、switch
B、cher
C、Case
3.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 A、 2 三、
B、 1
C、 2.0
D、2.5
程序填空题
1以下程序不用第三个变量实现两个数对调的操作。 #includ “stdio.h” main() {
int a,b;
scanf(\ a=;(三个字符) b=;(三个字符) a= a-b;
printf(\}
2、选择程序的运行结果 。
main ( )
{ int x=1, y=2, z, a, b, c, d; z = ++x||++y;
printf(\
printf(\输出结果
6
a=-1; b=-2; c=++a&&b++;
printf(\输出结果 (三个字符)*/ }
3以下程序的结果为_______ main() {
unsigned int a=3, b=10;
printf(\输出结果<14> */ printf(\输出结果<0> */ }
4 若x=3,y=z=4,则下列表达式的值是。 (1) (z>=y>=x)? 1:0
/*值为<0> */
(2) z>=y&&y>=x /*值为<1> */
5已知float x=4.3,int y;执行语句y=(int)x后,x为
6表达式’c’&&’d’的值为<1>(填写阿拉伯数字),’c’&&’d’||!(3+4)的值为<1>(填写阿拉伯数字)。
7若x为int类型,则与逻辑表达式“x”等价的表达式是
8 表示“整数x的值大于5”时逻辑值为“真”的表达式是
9已知字母A的ASCII码为十进制数65,且设ch为字符型变量,则表达式ch=‘A’-‘4’+‘9’的值为(一个字符常量);若定义:char c=‘\\72’;则变量c中包含的字符个数为<1>(数字)。 10、C语言所提供的基本数据类型的整型类型包括:<短整型>、整型、<长整型>。(按每种类型所占字节数,从小到大排列)
第二章 C语言程序结构
(顺序程序设计、选择结构程序设计、循环控制)
7
一、 判断题(正确的填A,错误的填B)
1. do-while语句中的条件为非0时,就结束该循环。(B) 2.在switch-case语句中,不是每个case后都要使用break语句。( A ) 3.Break语句只能用于循环结构中。(B )
48. 未给变量赋初值,只是运行结果不正确,不会有其他不良影响。(B) 5、switch语句中,可以不使用break语句;(A) 6、for语句中,三个表达式都可以省略;(A)
7(7)在for循环中使用break语句的目的是使流程跳出循环体,终止当前循环(A)
8. continue语句只能用于循环语句中。( A )
9. while语句中的条件为0时,就结束该循环。(A) 10.在循环体内使用break语句或continue语句的作用相同。(B)
在C语言中,逻辑值“真”用 表示。
11) 1 12) 大于0的数 13) 非0的整数 14) 非0的数
在循环语句的循环体中,continue语句的作用是( )。
15) 立即终止整个循环 16) 继续执行continue语句之后的循环体 17) 结束本次循环 18) 结束本次循环并跳出循环
语句while(!e);中,条件!e等价于( )
19.e==0 20 .e!=0 21.e!=1 22.e==1
设int c=5和int a; a=2+(c+=c++,c+8,++c), 则a=__________
23) 15 24)14 25) 13 26) 16
若要表示if( a不等于0 )这一关系式,则能正确表示这一关系的表达式为if ( ) 27) a<>0 28) !a 29) a=0 30) a
二、 单项选择题
N1、以下不是死循环的语句是_______。 for( ; ; x+i ); while (1) {x++;}
for( i=10; ; i- -) sum+= i ;
for( ; (c=getchar()) != ?\\n? ; ) printf(“%c” , c) ; 2.设有程序段 int k = 10 ;
8
while ( k = 0 ) k = k - 1 ; 以下描述正确的是 ( )。 A. 循环体语句一次也不执行。 B. 循环是无限循环。 C. while 循环语句执行十次。 D. 循环体语句执行一次。 3.对下述程序,正确的判断是( )。 main( ) { int a,b;
scanf (\if(a>b)a=b; b=a; else a++; b++;
printf(\ }
A. 有语法错误不能通过编译 B. 若输入4,5则输出5,6 C. 若输入5,4则输出4,5 D. 若输入5,4则输出5,5 R4. 以下程序 main() {
int i=010,j=10,k=0x10; printf(\}有语法错误不能通过编译 输出结果是( )
A.8,10,16 B.8,10,10 C.10,10,10 D.10,10,16
R5. 若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是__________
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); R6.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为__________。 main() {
char x,y;
x=’0’;y=’9’;
pirntf(“%d,%d\\n”,x,y); }
A)因输出格式不合法,输出错误信息 B)48,57 C)0,9 D)48,58 7. 语句 for(k=0;k<5;++k) {
if(k= = 3) continue; printf(“%d”,k); }的输出结果为_________。
A)012 B) 0124 C) 01234 D) 没有输出结果 8.为表示关系x>=y>=z,应使用C语言表达式___________。 A)(y<=x)&&(y>=z) B)(x>=y)AND(y>=z)
9
C)(x>=y>=z) D)(x>=y)&(y>=z)
6. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和___________等价。
A、k=(a>b)?1:0; B、k=a>b;
C、k=a<=b; D、a<=b ? 0 : 1; 9.以下程序的输出结果是__________
void main() {
int a = 2,b = 5;
printf(“a=%%%d,b=%%%d”,a,b); }
A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d N10.以下程序的输出结果是__________ void main() { int x=10,y=10;
printf(“%d %d\\n”,x--,--y); }
A) 10 10 B) 9 9 C) 9 10 D) 10 9 11.若要表示if( a不等于0 )这一关系式,则能正确表示这一关系的表达式为 if (__________)
A) a<>0 B) !a C) a=0 D) a R12对于循环语句while(1);下面( )是正确的 A、死循环 B、循环一次 C、不进入循环体 D、编译有错 13.下面程序的输出是(假设 int 数据是 2 个字节) void main() { int a = 32768; printf(“a=%d\\n”,a); }
A) a=32768 B) a=32767 C) a=-32768 D) a=-1 14.表达式__________是满足:当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式
A) (c=1)||(c=3)||(c=5) B) (c!=1)&&(c!=3)&&(c!=5) C) (c==1)&&(c==3)&&(c=5) D) (c==1)||(c==3)||(c==5)
10
N15. 以下程序段的输出结果是_____ int x=3; do
{ printf(\ while (!(--x));
A) 1 B) 3 0
C) 1 -2 D) 死循环 16、数字字符0的ASCII值为48,若有以下程序 main() {
char a='1',b='2'; printf(\
printf(\ }
程序运行后的输出结果是 A 3,2 B 50,2 C 2,2 D 2,50 17、有以下程序 main() {
int a,b,d=25; a = d/10 & (-1); b = a && (-1);
printf(\ }
程序运行后的输出结果是 A 6,1 B 2,1 C 6,0 D 2,0
18.若定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用( )。
A)scanf(\ B) scanf(\C) scanf(\ D) scanf(\19.若定义int i; 则以下循环语句的循环执行次数是( )。 for(i=2; i==0;) printf(\
A) 无限次 B) 0次 C) 1次 D) 2次 20.下面程序段___ x=3; do {
y=x--;
if(!y){printf(\ printf(\}
while(1<=x<=2);
11
A) 将输出## B) 将输出##*
C) 是死循环 D) 含有不合法的控制表达式 21.以下程序中,while循环的循环次数是( )。
#include “stdio.h” main( ) {int i=0; while(i<10) {if(i<1)continue; if(i= =5)break; i++; }
}
A、1 B、10 C、6 DN 22.有以下程序:
#include “stdio.h” int a=3; main( ) { int s=0; {
int a=5; s+=a++; }
s+=a++;printf(\}
程序运行后的输出结果是( )。
A、8 B、10 C、7 D23(4)下面程序段的运行结果是( ) main ( )
{int a=11,b=10,c=0; a/=b+(b&&c);
printf(″%d\\n″a);}
12
、死循环,不能确定次数、11 A.0 B.1 C.1.1 D.11
24(5)两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是( ) main ( ) {int x;
scanf(″%d″,&x);
if(x++>5) printf(″%d″,x); else printf(″%d\\n″,x-1);}
A.7和5 B.6和3 C.7和4
(6)语句while(!e);中,条件!e等价于( )
A.e=0 B.e!=0 C.e!=1
R25下面程序的输出是______ main() {
int k=11;
printf(\ }
A) k=11,k=12,k=13 B) k=11,k=13,k=13 C) k=11,k=013,k=oXb D) k=11,k=13,k=b
26(7)下面程序的运行结果是( ) main( )
{int i=1,sum=0; lop:sum=sum+i ; i=i+2;
if(i<6)goto lop;
printf (″sum=%d\\n″,sum);}
A.sum=4 B.sum=9 C.sum=16 27. 以下程序的输出结果是__________
void main(){ int a = 2,b = 5;
printf(“a=%%%d,b=%%%d”,a,b); }
A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d 28执行下面的程序后,a的值为_____ main()
13
D.6和4 D.e==0 D.sum=25 { int a,b;
for (a=1,b=1;a<100;a++) {
if (b>=20) break; if (b%3==1)
{ b+=3; continue; } b-=5; } }
A) 7 B) 8 C) 9 D) 10 29
30.下面的程序会( )
main()
{ int x=3,y=0,z=0;
if(x=y+z) printf(“****”); else printf(“####”); }
A、有语法错误不能通过编译 B、输出****C、可以通过编译,但不能通过连接,因而不能运行 D、输出#### 4.以下程序的输出结果是( ) main()
{ int x=10,y=10,i; for(i=0;x>8;y=++i)
printf(“%d %d”,x--,y); }
A、10 1 9 2 B、9 8 7 6 C、10 9 9 0 D、10 10 9 1.下面程序的输出是______ main() {
int k=11;
printf(\ }
A) k=11,k=12,k=13 B) k=11,k=13,k=13 C) k=11,k=013,k=oXb D) k=11,k=13,k=b
2.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是____
14
1 main() { int x;
scanf(\
if (x++>5) printf(\ else printf(\ }
A) 7和5 B) 6和3 C) 7和4 D) 6和4 3.读程序
#include”stdio.h” main()
{ int a; float b,c;
scanf(\ printf(\ }
若运行时从键盘上输入9876543210
A) a=98,b=765,c=4321 B) a=1,b=432,c=8765
C) a=98,b=765.000000,c=4321.000000 D) a=98,b=765.0,c=4321.0 5.下面程序的输出是____ main()
{int x=3,y=6,a=0; while (x++!=(y-=1)) {
a+=1;
if (y printf(\ } A) x=4,y=4,a=1 B) x=5,y=5,a=1 C) x=5,y=4,a=3 D) x=5,y=4,a=1 6. 7. 8. 8. 15
正在阅读:
C考试系统题库含答案(1)12-01
肺动脉高压的无创性诊断方法07-20
蒲公英泡水喝的功效与作用02-10
身为硕博必须掌握的SCI论文写作全解09-22
有机热载体锅炉安全保护装置06-02
汽车配件采购合同协议12-27
咏梅02-15
早会分享正能量(20篇)08-01
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 题库
- 答案
- 考试
- 系统
- 怎样做个好老师心得体会
- 小学语文课堂阅读教学评价表 - 图文
- 抗菌药物筛选的实验方法与技术
- Husion手册
- 有机化学的复习题
- 机织学习题及思考题
- 单片机:模数转换
- 合理调节工作压力 充分体现自我价值
- 电机实验 答案 (DOC) - 图文
- 胶带输送机计算实例
- 旅游交易会活动策划
- TCPIP复习资料 作业题和答案
- 常州市2016~2017学年下学期八年级英语期中试卷及答案 - 图文
- 2018 年 8 月桐乡市高考暨选考科目教学测试历史试题(有答案) - 图文
- 师德师风培训课讲稿
- 催化原理习题
- 施工组织课程设计
- 水分代谢习题及答案
- 《歌曲分析与创作》教案
- 2017-2018年中国影视特效行业现状及发展前景趋势展望投资策略分析报告 - 图文