1.1听一听,答一答 1、【单选题】计算机能直接执行的语言是()
a、汇编语言
b、c语言
c、机器语言
d、高级语言
2、【单选题】c 语言的起源与()操作系统的改进密不可分,也体现了 c 语言在编写系统软件时的优势。
a、linux
b、unix
c、dos
d、windows
3、【单选题】以下哪一个c标准是美国国家标准学会发布的()
a、c89
b、c99
c、c11
d、c90
4、【单选题】以“父子”关系论,以下错误的是()
a、b语言是c语言的父亲
b、c语言是java语言的父亲
c、c#是c语言的父亲
5、【单选题】关于c语言能做什么,以下说法错误的是()
a、既能编写操作系统,也能编写应用软件
b、能编写设备驱动程序
c、能编写服务器端程序
d、不能编写嵌入式程序
6、【单选题】以下不属于c编译器的是()
a、tc2.0
b、tc 3.0
c、gcc
d、ansi c
7、【单选题】第一个bug的捕手是()
a、frances e. allene
b、grace hopper
c、ada lovelace
d、jean bartik
8、【单选题】在tiobe组织发布的2002--2017年的编程语言热度排行镑中,基本居于第二的是()
a、java语言
b、c语言
c、c
d、python
9、【单选题】世界上第一位程序员是()
a、dennis ritchie
b、grace hopper
c、ada lovelace
d、ken thompson
10、【多选题】c语言的发明人是()
a、dennis ritchie
b、ken thompson
c、guido van rossum
d、brian w. kernighan
2.1.4基于变量常量输出的printf()应用 1、【单选题】定义两个整型变量a和b,以下语句正确的是:
a、int a;b;
b、int a,b
c、int a; int b
d、int a,b;
2、【单选题】printf("]\n",33); printf("d\n",333); 以上两条语句执行后,屏幕第二行比第一行左边多几个空格?
a、3
b、4
c、5
d、7
3、【判断题】%d是c语言中的一个格式说明符,表明要按十进制整数来进行输入或输出。
4、【判断题】c语言中可以用指定输出宽度的方式实现右对齐。
5、【判断题】printf("567"); printf("%d",567); 以上两条语句都能实现打印输出567,没有任何区别。
2.1.6任务1 狂敲&自测 1、【单选题】编写c程序时,预处理命令的标志符号是()
a、*
b、#
c、""
d、<>
2、【单选题】函数体必须用一对()括起来
a、()
b、""
c、<>
d、{}
3、【单选题】以下程序的执行结果是() #include
int main() { printf("1**\n#2#\n"); printf("\n789\n"); return 0; } a、1**#@# 789 b、1** #2# 789 c、1** #2# 789 d、1** #2# 789 4、【单选题】下面选项中表示主函数的是() a、main() b、int c、printf() d、return 5、【单选题】c语言属于下列哪类计算机语言() a、汇编语言 b、机器语言 c、高级语言 d、以上均不对 6、【单选题】以下哪条语句是函数声明() a、main(); b、int main() c、a(); d、void a(); 7、【单选题】能实现函数返回的语句是() a、pristar(); b、return 0 c、return d、return 50; 8、【单选题】能实现函数调用的语句是() a、pri_a(); b、pri_a() c、void pri_a() d、void pri_a(); 9、【单选题】想要运行一个c程序,需要经过编辑、编译、组建、执行四个步骤,其中,经过编译后的文件名后缀是() a、.exe b、.c c、.obj d、.dll 10、【多选题】关于主函数,说法正确的是()【多选】 a、一个c程序中只能包含一个主函数 b、主函数是c程序的入口 c、主函数中只能包含输出语句 d、c程序有时可以包含多个主函数2.2.6任务2 狂敲&自测 1、【单选题】关于变量,以下说法正确的是: a、变量必须先定义后使用 b、0x2是一个八进制常量 c、#define n 5;可以定义一个符号常量 2、【单选题】以下语句正确的是: a、int x=10;y=20; b、float number=10 c、printf("%d",3 6); d、char c1;scanf("%c",c1); 3、【单选题】c源文件编译后的后缀为: a、.obj b、.exe c、.c d、.cpp 4、【单选题】关于字符,以下说法正确的是 a、字符ascii码值用一个字节表示,且最高位为标志0 b、字母a用%d打印的结果为65 c、字符类型和整型完全一样 d、99这个整数如果用%c则无法输出打印 5、【单选题】关于运算符,以下说法正确的是 a、%求余运算符的两个运算量必须是整数 b、整除运算符的结果只能是整数 c、自增自减运算符只能用于整型变量的自增自减 d、赋值运算符是优先级最低的运算符 6、【单选题】以下不是合法c语言常量的是 a、"ab" b、'ab' c、0x37 d、023 7、【单选题】在c语言中,以下是合法的用户标识符的是 a、ij b、char c、2m d、x-2 8、【单选题】以下不属于c语言三种基本结构的是 a、选择结构 b、循环结构 c、顺序结构 d、switch结构 9、【单选题】若已定义x和y为double类型,则表达式x=1,y=x 3/2的值是() a、1 b、1.0 c、2.0 d、2.5 10、【单选题】m、n、a、b、c、d均为1,执行(m=a>b)&&(n=c>d)后,m、n的值是() a、0、0 b、0、1 c、1、0 d、1、1 11、【单选题】假设a=1,b=2,c=3,d=4,则表达式a a、4 b、3 c、2 d、1 12、【多选题】标识符只能由()组成。 a、字母 b、数字 c、下划线 d、横杠2.3.4任务3 狂敲&自测 1、【判断题】逻辑表达式的值只能为1或0() 2、【判断题】if(a=5)是允许的() 3、【判断题】设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z值的为0() 4、【判断题】表达式!!5的值是1() 5、【判断题】c语言中,语句a=b;的含义是比较a、b变量值是否相等()2.4.5任务4 狂敲&自测 1、【单选题】为表示关系x>y≥z, 应使用c语言表达式是() a、(x>y)&&y>=z b、(x>y)&&(y>=z) c、(x>y>=z) d、(x>y)&(y>=z) 2、【单选题】表达式:209!=99的值是() a、false b、任意值 c、0 d、1 3、【单选题】在c语言中,运算对象必须是整型数的运算符是() a、%= b、/= c、%=和/= d、/ 4、【单选题】若t为double类型,表达式t=1,t*5,t的值应是() a、1 b、6.0 c、2.0 d、1.0 5、【单选题】c语言中,用来决定分支流程的表达式是() a、只能用逻辑或关系表达 b、只能用逻辑表达式 c、只能用关系表达式 d、可以用任意表达式2.5.4任务5 狂敲&自测 1、【单选题】以下选项中,不属于switch语句的关键字是() a、break b、case c、for d、default 2、【单选题】下面一段程序运行时,变量y的值为() int x=1; int y=2; if(x%2==0) {y=y 1;} else {y=y-1} printf("y=%d",y); a、1 b、2 c、3 d、4 3、【单选题】假设int x=2;则三目表达式x>0?x 1:5的运算结果是() a、2 b、3 c、5 d、6 4、【单选题】能判断一个成绩在80--89之间(包括80和89)的表达式是() a、score>=80||score<=89 b、score>80&&score<=89 c、score>=80&&score<90 d、score>79&&score<89 5、【单选题】为避免在嵌套的条件语句if-else中产生二义性,c语言规定:else的子句总是与()配对。 a、缩排位置相同的if b、其之前最近的if c、其之后最近的if d、同一行上的if 6、【单选题】若w=1,x=2,y=3,z=4,则条件表达式w a、4 b、3 c、2 d、1 7、【单选题】break语句在switch结构中的作用是() a、打破switch结构延伸归入的特性 b、使程序停止执行 c、使程序自动顺序执行 d、一个switch结构必须要用break语句结束 8、【单选题】若有int x,a,b,c; 则下列语句中合法的if语句是() a、if(a<>b) x ; b、if(a= c、if(a!=b) x ; d、if(a=>b) x ; 9、【单选题】c语言中,用来决定分支流程的表达式是() a、只能用逻辑或关系表达 b、只能用逻辑表达式 c、只能用关系表达式 d、可以用任意表达式 10、【单选题】若k是int型变量,下面程序段的输出结果是() int k; k=-3; if(k<=0) printf("####"); else printf("&&&&"); a、#### b、&&&& c、####&&&& d、有语法错误,无输出结果2.6.4任务6 狂敲&自测 1、【单选题】函数调用时,被调函数的参数是() a、形式参数 b、实际参数 c、整型参数 d、字符参数 2、【单选题】函数定义时,如果该函数被调用后返回一个字符,则应把该函数定义为什么类型() a、int b、double c、float d、char 3、【单选题】如果一个被调函数的最后四条语句如下所示,则该函数的返回值是() return 0; return ; return 10; return 100; a、0 b、10 c、100 d、无 4、【单选题】单向传值调用指的是() a、从形参到实参 b、从实参到形参 c、从第一个形参到第二个形参 d、形参的变化能改变实参 5、【单选题】函数返回值的类型是由()决定的。 a、函数定义时指定的类型 b、return语句中表达式的类型 c、调用该函数时的实参的数据类型 d、形参的数据类型 6、【单选题】函数调用时,以下说法正确的是() a、函数调用后必须带回返回值 b、实际参数和形式参数可以同名 c、函数间的数据传递不可以使用全局变量 d、主调函数和被调函数总是在同一个文件里 7、【判断题】函数不可以嵌套定义,但可以嵌套调用。 8、【判断题】return 3 5; 这样的返回值语句不合法。 9、【判断题】没有return语句的被调函数无法实现正常返回。 10、【判断题】return 5; 跟 return (5); 是等价的。2.7.1自增、自减运算符 1、【单选题】以下语句: a=4; b=2; c=--a*b ; d=a--* b; 执行后,d的值是() a、6 b、4 c、9 d、122.7.6任务7 狂敲&自测 1、【单选题】以下程序的运行结果是 #include “stdio.h” int main() { int i; for (i=1; i<=5;i ) printf("%d",i); printf("%d",5); return 0; } a、123455 b、1525354555 c、1 2 3 4 5 5 d、1 2 3 4 5 5 2、【单选题】下列程序的运行结果是: #include int main() { int i; for(i=1; i<10; i ) if(i%2!=0) printf("%d",i); printf("\n"); printf("*"); return 0; } a、2346810* b、13579* c、246810 * d、13579 * 3、【单选题】该程序的运行结果是: #include “stdio.h” int main() { char c1=97, c2=’a’; if(c1==c2) printf("yes"); printf("no"); return 0; } a、no b、yes c、yesno d、yes no 4、【单选题】以下程序的运行结果是: #include int main( ) { int i, j; for(i=1; i<=10; i ) { if(i%5==0&&i/5!=1) printf("%d",i ); printf("%d",i); } return 0; } a、1234567891011 b、1234567891010 c、1011 d、1010 5、【单选题】以下不能构成无限循环的语句或语句组是() a、n=0; do { n;}while(n>=0); b、n=0; while(1) { n ; } c、n=10; while(n) n--; d、for(n=0;i=1;i ) n =1; 6、【单选题】设j和k都是int类型,则以下for循环语句() for (j=0, k=-1; k=1; j ,k ) printf(“****\n”); a、循环结束的条件不符合语法 b、是无限循环 c、循环体一次也不执行 d、循环体只执行一次 7、【单选题】以下程序的运行结果是() #include “stdio.h” int main() { int s=0;i=1; while (1) { s =i; i ; if s>=20 { break; } } printf(“s=%d, i=%d\n”,s,i); } a、20,6 b、s=26,i=8 c、s=20 i=7 d、s=21,i=7 8、【单选题】for (n=1; n<=10; n ) { if (n%3==0) countinue; printf(“%d”,n); } 此程序段的执行结果是() a、12457810 b、369 c、12 d、1234567890 9、【单选题】#include int main( ) { int i, j; for(i=1; i<=4; i ) { for(j=1; j<=i; j ) printf("#"); printf("\n"); } return 0; } a、# # # # # # # # # b、########### c、# ## ### #### d、# # # # # # # # # # 10、【单选题】阅读下面的代码: int x=1;int y=2; if(x%2==0) y ; else y--; printf("%d",y--); 所打印的y值是() a、1 b、0 c、3 d、2 11、【单选题】设有程序段 int k=10; while(k=0) k=k-1; 下面叙述中正确的是() a、while循环执行10次 b、循环是无限循环 c、循环体语句一次也不执行 d、循环体语句执行一次 12、【单选题】设有以下程序段 int x=0,s=0; while(!x!=0) s = x; printf("%d",s); 则() a、程序运行结果为0 b、程序运行结果为1 c、程序中控制表达式是非法的 d、程序执行无限次 13、【单选题】语句while(!e);中的表达式!e等价于() a、e==0 b、e!=1 c、e!=0 d、e==1 14、【单选题】下面程序段的运行结果是() a=1;b=2;c=2; while(a a、1,2,0 b、2,1,0 c、1,2,1 d、2,1,1 15、【单选题】下面程序的运行结果是() x=y=0; while(x<15) y ,x = y; printf("%d,%d",y,x); a、20,7 b、6,12 c、20,8 d、8,20 16、【单选题】下面程序段的运行结果是() int n=0; while(n <=2) printf("%d",n); a、012 b、123 c、语法错 d、3 17、【单选题】设有程序段 t=0; while(printf("*")) {t ; if(t<3) break;} 以下描述正确的是() a、其中循环控制表达式与0等价 b、其中循环控制表达式与'0'等价 c、其中循环控制表达式是不合法的 d、循环体被执行一次 18、【单选题】若i为整型变量,则以下循环执行次数是() for(i=2;i==0;) printf("%d",i--); a、无限次 b、0次 c、1次 d、2次 19、【单选题】以下程序段: x=-1; do { x=x*x; }while(!x); a、是死循环 b、循环体执行2次 c、循环体执行1次 d、有语法错误 20、【单选题】若有如下语句 int x=3; do { printf("%d\n",x-=2); } while(!(--x)); 则上面程序段() a、输出的是1 b、输出的是1和-2 c、输出的是3和0 d、是死循环2.8.4任务8 狂敲&自测 1、【单选题】以下程序的运行结果是 #include “stdio.h” int main() { int i; for (i=1; i<=5;i ) printf("%d",i); printf("%d",5); return 0; } a、123455 b、1525354555 c、1 2 3 4 5 5 d、1 2 3 4 5 5 2、【单选题】下列程序的运行结果是: #include int main() { int i; for(i=1; i<10; i ) if(i%2!=0) printf("%d",i); printf("\n"); printf("*"); return 0; } a、2346810* b、13579* c、246810 * d、13579 * 3、【单选题】以下不能构成无限循环的语句或语句组是() a、n=0; do { n;}while(n>=0); b、n=0; while(1) { n ; } c、n=10; while(n) n--; d、for(n=0;i=1;i ) n =1; 4、【单选题】语句while(!e);中的表达式!e等价于() a、e==0 b、e!=1 c、e!=0 d、e==1 5、【单选题】设有程序段 int k=10; while(k=0) k=k-1; 下面叙述中正确的是() a、while循环执行10次 b、循环是无限循环 c、循环体语句一次也不执行 d、循环体语句执行一次3.1.5任务1 狂敲&自测 1、【单选题】以下哪条符号常量的定义是正确的() a、#defnie n 100 b、#define pi 3.14; c、#define m x 5 d、#define mmm 99 2、【单选题】定义数组的代码如下: int array[5]; 数组的长度是()一般编译系统情况下所占内存数是() a、5 5 b、4 5 c、5 20 d、10 10 3、【单选题】有以下代码: int i[10]={1,2,3}; 数组元素i[3]的值是() a、3 b、2 c、1 d、0 4、【单选题】下列程序的执行结果是() #include int main() { int x[5]={1,2,3,4,5},i=0; for(i=0;i<5;i ) printf("x[%d]:%d\n",i,x[i]); return 0; } a、x[0] 1 x[1] 2 x[2] 3 x[3] 4 x[4] 5 b、x[1] 0 x[2] 1 x[3] 2 x[4] 3 x[5] 4 c、x[0] :1 x[1] :2 x[2]: 3 x[3] :4 x[4] :5 d、x[0] ;1 x[1] ;2 x[2]:;3 x[3] ;4 x[4] ;5 5、【单选题】写出以下程序的运行结果: #include int main() { int a[5]={90,88,56,40,51},i; for(i=0;i<5;i ) { if(a[i]<60) {printf("%d",i); break;} } if(i>5) printf("no found\n"); return 0; } a、56no found b、56 c、2no found d、23.2.3任务2 狂敲&自测 1、【单选题】以下程序段的运行结果是() int a[10]={1,2,3,-4,5,6,7,-8,9,10},s=0,i; for(i=0;i<10;i ) { if(a[i]<0) break; s =a[i]; } printf("%d",s); a、6 b、7 c、31 d、14 2、【单选题】如下语句的执行结果是() int a[10]={1,2,3}; printf("%d",sizeof(a)); a、10 b、6 c、12 d、40 3、【单选题】以下语句执行完毕后,运行结果是() int a[10]={1,2,3}; for(i=9;i>=3;i--) printf("%d",a[0]); a、0000000321 b、0000000 c、1111111 d、0000321 4、【单选题】有以下定义语句: float a[7]={3.5}; 则数组元素引用正确的语句是() a、a[7]=a[0] a[1]; b、a[6]*=a[6] c、a[5]=a[0] [a7]; d、a[3 3]=a[0]; 5、【单选题】有以下代码: int score[100]; 则该数组第一个内存单元的地址是() a、&score b、&score[1] c、score d、score[0]3.3.4任务3 狂敲&自测 1、【单选题】有如下定义:int k,a[3][3]={1,2,3,4,5,6,7,8,9};则下列语句的执行结果是() for(k=0;k<3;k ) printf("%d",a[k][2-k]); a、3 5 7 b、3 6 9 c、1 5 9 d、1 4 7 2、【单选题】有如下定义:int k,a[3][3]={1,2,3,4,5,6,7,8,9};则下列语句的执行结果是() for(k=0;k<3;k ) printf("%d",a[k][2-k]); a、3 5 7 b、3 6 9 c、1 5 9 d、1 4 7 3、【判断题】数组名代表该数组的首地址。 4、【判断题】一个数组中的所有元素可以具有不相同的数据类型。 5、【判断题】数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。 6、【判断题】定义数组时可以同时给数组赋初值,初值的个数可以超过数组的长度,多余的被忽略。 7、【判断题】数组名代表该数组的首地址。 8、【判断题】定义数组时可以同时给数组赋初值,初值的个数可以超过数组的长度,多余的被忽略。 9、【判断题】一个数组中的所有元素可以具有不相同的数据类型。 10、【判断题】数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。3.4.5任务4 狂敲&自测 1、【单选题】若有语句:char s1[10], s2[10]="books";,则能将字符串books赋给数组s1的语句是( )。 a、s1="books"; b、strcpy(s1, s2); c、s1=s2; d、strcpy(s2, s1); 2、【单选题】当接收用户输入的含有空格的字符串时,应使用() a、gets() b、getchar() c、scanf() d、printf() 3、【单选题】设有数组定义:char array[]="china";则sizeof(array)的值为() a、4 b、5 c、6 d、7 4、【单选题】设有以下程序,运行时,从键盘敲入:01<回车>,程序执行结果为() #include #include int main() { char k;int i; for(i=1;i<3;i ) { scanf("%c",&k); switch(k) { case '0':printf("another\n"); case '1':printf("number\n"); } } return 0; } a、another b、another number c、another number another d、another number number 5、【单选题】为了判断两个字符串s1和s2是否相等,应用使用() a、if(s1==s2) b、if(s1=s2) c、if(strcpy(s1,s2)) d、if(strcmp(s1,s2)==0)3.5.4任务5 狂敲&自测 1、【单选题】2.以下对二维数组的定义中正确的是( )。 a、int a[4][]={1,2,3,4,5,6}; b、int a[][3]; c、int a[][3]= {1,2,3,4,5,6}; d、int a[][]={{1,2,3},{4,5,6}}; 2、【单选题】设有以下定义语句: int b[3][4]={{1},{4,3},{2,1,2}}; 则b[2][2]的值为() a、3 b、0 c、1 d、2 3、【单选题】下列写法中,()可以实现访问数组arr的第1个元素。 a、arr[0] b、arr(0) c、arr[1] d、arr(1) 4、【单选题】若inta[2][3]={{1,2,3},{4,5,6}};则a[1][1]的值为() a、2 b、3 c、4 d、5 5、【单选题】以下对数组描述正确的是() a、一维数组的长度长于二维数组的长度 b、数组不能先声明长度再赋值 c、数组中所有的元素同是一种类型 d、数组没有初始值3.6.5任务6 狂敲&自测 1、【单选题】关于指针,以下说法正确的是() a、指针就是内存单元的地址 b、内存单元的地址就是指针 c、指针可以用任何变量来存放 d、指针就是变量或数组元素所占用内存单元的首地址 2、【单选题】指针运算符是 a、* b、& c、% d、%p 3、【单选题】若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是()。 a、p=q; b、*p=*q; c、a=*q; d、q=a; 4、【单选题】若定义:int a=511, *b=&a;,则printf("%d\n", *b);的输出结果为:() a、无确定值 b、a的地址 c、512 d、511 5、【单选题】设有int a[10]={1,2,3},*p=&a[1];则printf("%d",*(p+1))的结果为: a、0 b、1 c、2 d、33.7.3任务7 狂敲&自测 1、【单选题】若有下列定义: struct b { float a[5]; double c; int d;}x; 则变量x在内存中所占的字节为 a、6 b、10 c、40 d、14 2、【单选题】在c语言中,系统为一个结构体变量分配的内存是() a、结构体第一个成员所需的内存量 b、成员占内存量最大者所需的内存量 c、结构体中最后一个成员所需的内存量 d、以上都不对 3、【判断题】结构体中的成员不可以单独使用() 4、【判断题】结构体变量可以作数组元素() 5、【判断题】结构体只能是基本数据类型的组合()7.1综合实训&终极检验 1、【单选题】编写c程序时,预处理命令的标志符号是() a、* b、# c、"" d、<> 2、【单选题】函数体必须用一对()括起来 a、() b、"" c、<> d、{} 3、【单选题】以下程序的执行结果是() #include int main() { printf("1**\n#2#\n"); printf("\n789\n"); return 0; } a、1**#@# 789 b、1** #2# 789 c、1** #2# 789 d、1** #2# 789 4、【单选题】下面选项中表示主函数的是() a、main() b、int c、printf() d、return 5、【单选题】以下哪条语句是函数声明() a、main(); b、int main() c、a(); d、void a(); 6、【单选题】能实现函数返回的语句是() a、pristar(); b、return 0 c、return d、return 50; 7、【单选题】能实现函数调用的语句是() a、pri_a(); b、pri_a() c、void pri_a() d、void pri_a(); 8、【单选题】想要运行一个c程序,需要经过编辑、编译、组建、执行四个步骤,其中,经过编译后的文件名后缀是() a、.exe b、.c c、.obj d、.dll 9、【单选题】关于变量,以下说法正确的是: a、变量必须先定义后使用 b、0x2是一个八进制常量 c、#define n 5;可以定义一个符号常量 10、【单选题】关于字符,以下说法正确的是 a、字符ascii码值用一个字节表示,且最高位为标志0 b、字母a用%d打印的结果为65 c、字符类型和整型完全一样 d、99这个整数如果用%c则无法输出打印 11、【单选题】在c语言中,以下是合法的用户标识符的是 a、ij b、char c、2m d、x-2 12、【单选题】若已定义x和y为double类型,则表达式x=1,y=x 3/2的值是() a、1 b、1.0 c、2.0 d、2.5 13、【单选题】m、n、a、b、c、d均为1,执行(m=a>b)&&(n=c>d)后,m、n的值是() a、0、0 b、0、1 c、1、0 d、1、1 14、【单选题】有如下语句: int x; x=012; printf("%o",x); 屏幕显示的结果是() a、10 b、012 c、12 15、【单选题】以下选项中,不属于switch语句的关键字是() a、break b、case c、for d、default 16、【单选题】下面一段程序运行时,变量y的值为() int x=1; int y=2; if(x%2==0) {y=y 1;} else {y=y-1} printf("y=%d",y); a、1 b、2 c、3 d、4 17、【单选题】假设int x=2;则三目表达式x>0?x 1:5的运算结果是() a、2 b、3 c、5 d、6 18、【单选题】若w=1,x=2,y=3,z=4,则条件表达式w a、4 b、3 c、2 d、1 19、【单选题】若有int x,a,b,c; 则下列语句中合法的if语句是() a、if(a<>b) x ; b、if(a= c、if(a!=b) x ; d、if(a=>b) x ; 20、【单选题】若k是int型变量,下面程序段的输出结果是() int k; k=-3; if(k<=0) printf("####"); else printf("&&&&"); a、#### b、&&&& c、####&&&& d、有语法错误,无输出结果 21、【单选题】以下语句: a=4; b=2; c=--a*b ; d=a--* b; 执行后,d的值是() a、6 b、4 c、9 d、12 22、【单选题】若t为double类型,表达式t=1,t*5,t的值应是() a、1 b、6.0 c、2.0 d、1.0 23、【单选题】表达式:209!=99的值是() a、false b、任意值 c、0 d、1 24、【单选题】为表示关系x>y≥z, 应使用c语言表达式是() a、(x>y)&&y>=z b、(x>y)&&(y>=z) c、(x>y>=z) d、(x>y)&(y>=z) 25、【单选题】以下程序的运行结果是 #include “stdio.h” int main() { int i; for (i=1; i<=5;i ) printf("%d",i); printf("%d",5); return 0; } a、123455 b、1525354555 c、1 2 3 4 5 5 d、1 2 3 4 5 5 26、【单选题】该程序的运行结果是: #include “stdio.h” int main() { char c1=97, c2=’a’; if(c1==c2) printf("yes"); printf("no"); return 0; } a、no b、yes c、yesno d、yes no 27、【单选题】设j和k都是int类型,则以下for循环语句() for (j=0, k=-1; k=1; j ,k ) printf(“****\n”); a、循环结束的条件不符合语法 b、是无限循环 c、循环体一次也不执行 d、循环体只执行一次 28、【单选题】以下程序的运行结果是() #include “stdio.h” int main() { int s=0;i=1; while (1) { s =i; i ; if s>=20 { break; } } printf(“s=%d, i=%d\n”,s,i); } a、20,6 b、s=26,i=8 c、s=20 i=7 d、s=21,i=7 29、【单选题】for (n=1; n<=10; n ) { if (n%3==0) countinue; printf(“%d”,n); } 此程序段的执行结果是() a、12457810 b、369 c、12 d、1234567890 30、【单选题】#include int main( ) { int i, j; for(i=1; i<=4; i ) { for(j=1; j<=i; j ) printf("#"); printf("\n"); } return 0; } a、# # # # # # # # # b、########### c、# ## ### #### d、# # # # # # # # # # 31、【单选题】阅读下面的代码: int x=1;int y=2; if(x%2==0) y ; else y--; printf("%d",y--); 所打印的y值是() a、1 b、0 c、3 d、2 32、【单选题】设有程序段 int k=10; while(k=0) k=k-1; 下面叙述中正确的是() a、while循环执行10次 b、循环是无限循环 c、循环体语句一次也不执行 d、循环体语句执行一次 33、【单选题】下面程序段的运行结果是() a=1;b=2;c=2; while(a a、1,2,0 b、2,1,0 c、1,2,1 d、2,1,1 34、【单选题】若i为整型变量,则以下循环执行次数是() for(i=2;i==0;) printf("%d",i--); a、无限次 b、0次 c、1次 d、2次 35、【单选题】以下程序段: x=-1; do { x=x*x; }while(!x); a、是死循环 b、循环体执行2次 c、循环体执行1次 d、有语法错误 36、【单选题】以下哪条符号常量的定义是正确的() a、#defnie n 100 b、#define pi 3.14; c、#define m x 5 d、#define mmm 99 37、【单选题】定义数组的代码如下: int array[5]; 数组的长度是()一般编译系统情况下所占内存数是() a、5 5 b、4 5 c、5 20 d、10 10 38、【单选题】有以下代码: int i[10]={1,2,3}; 数组元素i[3]的值是() a、3 b、2 c、1 d、0 39、【单选题】有以下代码: int score[100]; 则该数组第一个内存单元的地址是() a、&score b、&score[1] c、score d、score[0] 40、【单选题】关于一维数组,下列说法正确的是() a、在定义一维数组时,数组长度可以用任意整型表达式表示 b、在定义一维数组时,数组长度不能省略 c、数组元素的下标可以用整型表达式或整型常量表示 d、数组元素的下标必须为整型常量 41、【单选题】有以下定义语句: float a[7]={3.5}; 则数组元素引用正确的语句是() a、a[7]=a[0] a[1]; b、a[6]*=a[6] c、a[5]=a[0] [a7]; d、a[3 3]=a[0]; 42、【单选题】以下语句执行完毕后,运行结果是() int a[10]={1,2,3}; for(i=9;i>=3;i--) printf("%d",a[0]); a、0000000321 b、0000000 c、1111111 d、0000321 43、【单选题】以下程序段的运行结果是() int a[10]={1,2,3,-4,5,6,7,-8,9,10},s=0,i; for(i=0;i<10;i ) { if(a[i]<0) break; s =a[i]; } printf("%d",s); a、6 b、7 c、31 d、14 44、【单选题】如下语句的执行结果是() int a[10]={1,2,3}; printf("%d",sizeof(a)); a、10 b、6 c、12 d、40 45、【单选题】下列程序的执行结果是() #include int main() { int x[5]={1,2,3,4,5},i=0; for(i=0;i<5;i ) printf("x[%d]:%d\n",i,x[i]); return 0; } a、x[0] 1 x[1] 2 x[2] 3 x[3] 4 x[4] 5 b、x[1] 0 x[2] 1 x[3] 2 x[4] 3 x[5] 4 c、x[0] :1 x[1] :2 x[2]: 3 x[3] :4 x[4] :5 d、x[0] ;1 x[1] ;2 x[2]:;3 x[3] ;4 x[4] ;5 46、【单选题】设有以下定义语句: int b[3][4]={{1},{4,3},{2,1,2}}; 则b[2][2]的值为() a、3 b、0 c、1 d、2 47、【单选题】下列写法中,()可以实现访问数组arr的第1个元素。 a、arr[0] b、arr(0) c、arr[1] d、arr(1) 48、【单选题】若inta[2][3]={{1,2,3},{4,5,6}};则a[1][1]的值为() a、2 b、3 c、4 d、5 49、【单选题】2.以下对二维数组的定义中正确的是( )。 a、int a[4][]={1,2,3,4,5,6}; b、int a[][3]; c、int a[][3]= {1,2,3,4,5,6}; d、int a[][]={{1,2,3},{4,5,6}}; 50、【单选题】设有数组定义:char array[]="china";则strlen(array)的值为() a、4 b、5 c、6 d、7 51、【单选题】设有数组定义:char array[]="china";则sizeof(array)的值为() a、4 b、5 c、6 d、7 52、【单选题】设有数组定义:char array[]="china";则数组array所占的存储空间为() a、4个字节 b、5个字节 c、6个字节 d、7个字节 53、【单选题】设有数组定义:char array[10]="china";则strlen(array)的值为() a、4 b、5 c、6 d、10 54、【单选题】有以下程序段,执行后x[6]的值为() char x[10]="abcdefgh",y[]="abc"; strcpy(x,y); a、f b、a c、g d、\0 55、【单选题】已知大写字母a的ascii码值是65,小写字母a的ascii码值是97,则字符常量'\101'是() a、字符a b、字符a c、字符e d、非法的常量 56、【单选题】设有以下程序,运行时,从键盘敲入:01<回车>,程序执行结果为() #include #include int main() { char k;int i; for(i=1;i<3;i ) { scanf("%c",&k); switch(k) { case '0':printf("another\n"); case '1':printf("number\n"); } } return 0; } a、another b、another number c、another number another d、another number number 57、【单选题】为了判断两个字符串s1和s2是否相等,应用使用() a、if(s1==s2) b、if(s1=s2) c、if(strcpy(s1,s2)) d、if(strcmp(s1,s2)==0) 58、【单选题】已定义两个字符数组a,b,则以下输入格式正确的是() a、scanf("%s%s",a,b); b、get(a,b); c、scanf("%s%s",&a,&b); d、gets(a),ges(b); 59、【单选题】下列字符串赋值语句中,不能正确把字符串"hello world"赋给数组的语句是() a、char a1[]={'h','e ','l','l','o',' ','w','o','r','l','d',''}; b、char a2[15]; strcpy(a2,"hello world"); c、char a3[15]; a3="hello world"; d、char a4[15]={ "hello world"}; 60、【单选题】下面程序的运行结果是() #include #include int main( ) { char a[30]; strcpy(&a[0],"ch"); strcpy(&a[1],"def"); strcpy(&a[2],"abc"); printf("%s\n",a); return 0; } a、chdefabc b、cda c、cdabc d、abcdef 61、【单选题】设有两字符串"good"、"morning"分别存放在字符数组 str1[20]、str2[20]中, 下面语句中能把"morning"连接到"good"之后的是() a、strcpy(str1,str2); b、strcpy(str1, "morning"); c、strcat(str1, "morning"); d、strcat("good" ,str2); 62、【单选题】关于静态变量的描述,以下说法正确的是() a、静态变量在定义时使用static修饰符定义 b、静态变量在声明时未赋初值,其值是随机的 c、函数返回,函数中的静态变量值也将会被释放 d、static只能用来定义静态变量,不能定义静态函数 63、【单选题】关于全局变量和局部变量,以下说法正确的是() a、全局变量和局部变量不可以重名 b、全局变量和局部变量是指变量的作用域有区别 c、如果全局变量和局部变量重名,则在该局部变量作用范围内全局变量优先有效 d、全局变量在定义时必须位于主函数之前 64、【单选题】有定义语句:auto int x; 则以下说法错误的是() a、x是整型变量 b、x是动态变量 c、auto是可以省略的 d、x是静态变量 65、【单选题】若有下列定义: struct b { float a[5]; double c; int d;}x; 则变量x在内存中所占的字节为 a、6 b、10 c、40 d、14 66、【单选题】设有以下说明语句,则下面的叙述不正确的是 struct stu { int a; float b; } stutype; a、struct是结构体类型的关键字 b、struct stu是用户定义的结构体类型 c、stutype是用户定义的结构体类型名 d、用户定义的a和b都是结构体成员名 67、【单选题】设有如下定义 struct ss { char name[10]; int age; char sex; } std[3],* p=std; 下面各输入语句中错误的是 a、scanf("%d",&(*p).age); b、scanf("%s",&std.name); c、scanf("%c",&std[0].sex); d、scanf("%c",&(p->sex)) 68、【单选题】以下程序段的执行结果为() struct cmplx { int x; int y; }com[2]={1,3,2,7}; printf("%d\n",com[0].y/com[0].x*com[1].x); a、0 b、1 c、3 d、6 69、【单选题】以下程序段的执行结果是() struct date { int year,month,day; }today; printf("%d\n",sizeof(struct date)); a、6 b、12 c、3 d、24 70、【单选题】关于指针,以下说法正确的是() a、指针就是内存单元的地址 b、内存单元的地址就是指针 c、指针可以用任何变量来存放 d、指针就是变量或数组元素所占用内存单元的首地址 71、【单选题】指针运算符是 a、* b、& c、% d、%p 72、【单选题】若定义:int a=511, *b=&a;,则printf("%d\n", *b);的输出结果为:() a、无确定值 b、a的地址 c、512 d、511 73、【单选题】设有int a[10]={1,2,3},*p=&a[1];则printf("%d",*(p+1))的结果为: a、0 b、1 c、2 d、3 74、【单选题】若p1、p2都是指向整型的指针,p1已经指向变量x,要使p2也指向x,正确的是() a、p2=p1; b、p2=**p1; c、p2=&p1; d、p2=*p1; 75、【单选题】设char b[5],*p=b; 则正确的赋值语句是() a、b="abcd"; b、*b="abcd"; c、p="abcd"; d、*p="abcd"; 76、【单选题】若有说明 int i,j=7,*p=&i; 则与i=j;等价的语句是() a、i=*p; b、*p=j; c、i=&j; d、i=**p; 77、【单选题】若有定义int *p1,*p2; 则错误的表达式是() a、p1 p2 b、p1-p2 c、p1 d、p1=p2 78、【单选题】若有定义int *p,k=4;p=&k; 则以下均代表地址的是() a、k,p b、&k,*p c、&k,p d、k,*p 79、【单选题】若希望当k的值为偶数时,表达式的值为“假”,当k的值为奇数时,表达式的值为“真”。则以下不能满足要求的表达式为( ) a、k%2 == 1 b、! (k%2==0) c、! (k%2) d、k%2 80、【单选题】以下程序的输出结果是( ) #include #define m 3 #define n m m int main() { int k; k=n*n*3; printf(“%d\n”,k); return 0; } a、108 b、21 c、243 d、27 81、【判断题】#include是预处理命令,它的作用是告诉 c 编译器在实际编译之前要包含 stdio.h 这个头文件。 82、【判断题】else子句可以单独使用。 83、【判断题】表达式7/2的结果是3.5。 84、【判断题】可以使用int a=b=c=3;对变量a、b、c赋同一个初值。 85、【判断题】‘a’是一个合法的字符串。 86、【判断题】gets()函数从控制台读取字符串时,会把换行符之前的所有字符都读取进来(不包括换行符本身)。 87、【判断题】printf()输出字符串时,如果没有遇到串结束符,就会继续输出后面的值。 88、【判断题】puts()函数在输出完字符串后会直接换行。 89、【判断题】c语言中可以用指定输出宽度的方式实现右对齐。 90、【判断题】%d是c语言中的一个格式说明符,表明要按十进制整数来进行输入或输出。 91、【判断题】结构体中的成员不可以单独使用() 92、【判断题】结构体只能是基本数据类型的组合() 93、【判断题】结构体变量可以作数组元素() 94、【判断题】c语言中,语句a==b;的结果是一个逻辑值() 95、【判断题】在switch语句中,每一个的case常量表达式的值可以相同() 96、【判断题】将常量3.4567按%.2f的格式显示为3.46 97、【判断题】'good'是合法的字符串常量。 98、【判断题】若a和b的类型相同,在执行了a=b;后,b中的值将丢失。 99、【判断题】一个指针变量只能指向同一类型变量。 100、【判断题】float是c语言的关键字。猜你喜欢 2023-10-22 23:52 2023-10-22 23:33 2023-10-22 22:56 2023-10-22 22:54 2023-10-22 22:47 2023-10-22 22:40 2023-10-22 22:12 2023-10-22 21:39 2023-10-22 21:39 2023-10-22 21:35