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、12
2.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、2
3.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、3
3.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语言的关键字。
猜你喜欢
- 2022-12-05 21:50
- 2022-12-05 21:03
- 2022-12-05 20:47超星尔雅有机化学-超星尔雅-学习通-题库零氪测试题答案大全
- 2022-12-05 20:34
- 2022-12-05 20:31
- 2022-12-05 20:18
- 2022-12-05 20:12
- 2022-12-05 19:31
- 2022-12-05 19:30
- 2022-12-05 19:29