第一讲程序设计与C语言

小测验1.1

1、单选题:
计算机本身最擅长的能力是?
选项:
A: 推理
B: 想像
C: 重复
D: 分析
答案: 【 重复

2、判断题:
编程语言是和计算机交谈的语言
选项:
A: 正确
B: 错误
答案: 【 错误

3、判断题:
计算机(CPU)可以直接运行人类编写的程序
选项:
A: 正确
B: 错误
答案: 【 错误

小测验1.2

1、单选题:
关于C语言,以下说法错误的有:
选项:
A: C语言是和Unix操作系统一同发展起来的
B: C语言不能写图形界面的软件
C: C语言一般是编译执行的
D: C语言诞生于1970年代
答案: 【 C语言不能写图形界面的软件

2、单选题:
轻量级的编程软件,如Geany+MinGW或Sublime Text+MinGW,与专门的IDE如Dev C++相比,什么功能没有了?(提示:上课没有直接讲,但是间接提到了)
选项:
A: 单步调试
B: 源代码编辑时的语法高亮
C: 编译程序
D: 运行程序
答案: 【 单步调试

3、填空题:
IDE的中文翻译是什么?
答案: 【 集成开发环境

第二讲计算

小测验2.1

1、多选题:
以下哪些是有效的变量名?
选项:
A: main
B: 4ever
C: monkey-king
D: __int
答案: 【 main;
__int

2、多选题:
给定:int a,b;scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?
选项:
A: 1 2
B: 1,2
C: 1(回车)2
D: 1、2
答案: 【 1 2;
1(回车)2

3、多选题:
给定:int a,b; 以下哪些scanf的使用是正确的?
选项:
A: scanf("%d", &a);scanf("%d", &b);
B: scanf("%d %d", &a, &b);
C: scanf("%d, %d", &a, &b);
D: scanf("%d %d", a, b);
答案: 【 scanf("%d", &a);scanf("%d", &b);;
scanf("%d %d", &a, &b);;
scanf("%d, %d", &a, &b);

4、判断题:
给定以下代码段:int a,b=0;则a的初始值是0
选项:
A: 正确
B: 错误
答案: 【 错误

5、填空题:
写出下式的运算结果:10/3.0*3
答案: 【 10.0

6、填空题:
写出下式的运算结果:10/3*3.0
答案: 【 9.0

小测验2.2

1、填空题:
写出以下代码执行后,t1和t2的值,以空格隔开:int a=14;int t1 = a++;int t2 = ++a;
答案: 【 14 16

2、填空题:
写出以下表达式的结果,一个结果一行:6 + 5 / 4 - 22 + 2 * (2 * 2 - 2) % 2 / 310 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 3 1 + 2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10
答案: 【 5
2
44
-627

顺序结构和数据类型练习

1、单选题:
‌以下选项中合法的标识符是:​
选项:
A:  1_1
B: 1-1
C: _11
D: 1--
答案: 【 _11

2、单选题:
‏若函数中有定义语句:int k;,则:‏
选项:
A: 系统将自动给k赋初值0
B: 这时k中值无定义
C: 系统将自动给k赋初值-1
D: 这时k中无任何值
答案: 【 这时k中值无定义

3、单选题:
‎以下选项中,能用作数据常量的是:​
选项:
A: o115 
B: 0118
C: 1.5e1.5
D: 115L
答案: 【 115L

4、单选题:
‎设有定义:int x=2;,以下表达式中,值不为6的是:‍
选项:
A: x*=x+1
B: x++,2*x
C: x*=(1+x)
D: 2*x,x+=2
答案: 【 2*x,x+=2

5、单选题:
‌程序段:‎‌int x=12;‎‌double y=3.141593; ‎‌printf(“%d%8.6f”,x,y);‎‌的输出结果是:‎
选项:
A: 123.141593
B: 12 3.141593
C: 12,3.141593
D: 123,141593
答案: 【 123.141593

6、单选题:
‌‏有以下程序‌‏#include<stdio.h>‌‏main()‌‏{ int a1,a2;char c1,c2;‌‏scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);‌‏printf(“%d,%c,%d,%c”,a1,c1,a2,c2);‌‏}‌‏若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下[]代表空格,<CR>代表回车)‌
选项:
A: 12a34b<CR>
B: 12[]a[]34[]b<CR>
C: 12,a,34,b<CR>
D: 12[]a34[]b<CR>
答案: 【 12a34b<CR>

7、单选题:
‌有以下程序‌‌#include <stdio.h>‌‌main()‌‌{‌‌int a=5,b=1,t;‌‌t=(a<<2|b); ‌‌printf("%dn",t);‌‌}‌‌程序运行后的输出结果是‌
选项:
A: 21
B: 11
C: 6
D: 1
答案: 【 21

8、单选题:
‌以下叙述中正确的是:‌
选项:
A: 程序设计的任务就是编写程序代码并上机调试
B: 程序设计的任务就是确定所用数据结构
C: 程序设计的任务就是确定所用算法
D: 其余三种说法都不完整
答案: 【 其余三种说法都不完整

9、单选题:
‎以下选项中,能用作用户标识符的是:‌
选项:
A: void
B: 8_8
C:  _0_
D: unsigned
答案: 【  _0_

10、单选题:
‌阅读以下程序‌‌ #include <stdio.h>‌‌ main()‌‌ { int case; float printF;‌‌   printf(“请输入2个数:”);‌‌   scanf(“%d %f”,&case,&printF);‌‌   printf(“%d %fn”,case,printF);‌‌ }‌‌ 该程序编译时产生错误,其出错原因是‌
选项:
A: 定义语句出错,case是关键字,不能用作用户自定义标识符
B: 定义语句出错,printF不能用作用户自定义标识符
C: 定义语句无错,scanf不能作为输入函数使用
D: 定义语句无错,printf不能输出case的值
答案: 【 定义语句出错,case是关键字,不能用作用户自定义标识符

11、单选题:
‍表达式:(int)((double)9/2)-(9)%2的值是‏
选项:
A: 0
B: 3
C: 4
D: 5
答案: 【 3

12、单选题:
‌若有定义语句:int x=10;,则表达式x-=x+x的值为‌
选项:
A: -20
B: -10
C: 0
D: 10
答案: 【 -10

13、单选题:
‏有以下程序‍‏ #include <stdio.h>‍‏ main()‍‏ { int a=1,b=0;‍‏   printf(“%d,”,b=a+b);‍‏   printf(“%dn”,a=2*b);‍‏ }‍‏ 程序运行后的输出结果是‍
选项:
A: 0,0
B: 1,0
C: 3,2
D: 1,2
答案: 【 1,2

14、单选题:
​有以下定义语句,编译时会出现编译错误的是‍
选项:
A: char a=’a’;
B: char a=’n’;
C: char a=’aa’;
D: char a=’x2d’;
答案: 【 char a=’aa’;

15、单选题:
‎有以下程序‍‎#include ‍‎main()‍‎{ char c1,c2;‍‎  c1='A'+'8'-'4';‍‎  c2='A'+'8'-'5';‍‎  printf(“%c,%dn”,c1,c2);‍‎}‍‎已知字母A的ASCII码为65,程序运行后的输出结果是‍
选项:
A: E,68
B: D,69
C: E,D
D: 输出无定值
答案: 【 E,68

16、单选题:
‎若有以下程序段​‎int r=8;​‎printf(“%dn”,r>>1);​‎输出结果是​
选项:
A: 16
B: 8
C: 4
D: 2
答案: 【 4

17、单选题:
‏以下叙述正确的是‍
选项:
A:  C语言程序是由过程和函数组成的
B:  C语言函数可以嵌套调用,例如:fun(fun(x))
C: C语言函数不可以单独编译
D: C语言中除了main函数,其他函数不可作为单独文件形式存在
答案: 【  C语言函数可以嵌套调用,例如:fun(fun(x))

18、单选题:
​以下关于C语言的叙述中正确的是‍
选项:
A: C语言中的注释不可以夹在变量名或关键字的中间
B: C语言中的变量可以在使用之前的任何位置进行定义
C: 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D: C语言的数值常量中夹带空格不影响常量值的正确表示
答案: 【 C语言中的变量可以在使用之前的任何位置进行定义

19、单选题:
​以下C语言用户标识符中,不合法的是‌
选项:
A: _1
B: AaBc
C: a_b
D: a—b
答案: 【 a—b

20、单选题:
‌若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是‎
选项:
A: a=a++,i++;
B: i=(a+k)<=(i+k); 
C:  i=a%11;
D: i=!a;
答案: 【  i=a%11;

21、单选题:
‎有以下程序‌‎  #include <stdio.h>‌‎  main()‌‎  { char a,b,c,d;‌‎  scanf(“%c%c”,&a,&b);‌‎  c=getchar(); d=getchar();‌‎  printf(“%c%c%c%cn”,a,b,c,d);‌‎  }‌‎当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)‌‎  12‌‎  34‌‎则输出结果是‌
选项:
A: 1234
B: 12
C: 12 3
D: 12  34
答案: 【 12 3

22、单选题:
​以i关于C语言数据类型使用的叙述中错误的是‎
选项:
A: 若要准确无误差的表示自然数,应使用整数类型
B: 若要保存带有多位小数的数据,应使用双精度类型
C: 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
D: 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
答案: 【 若只处理“真”和“假”两种逻辑值,应使用逻辑类型

23、单选题:
‏若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是‏
选项:
A: 1
B: 0
C: 2
D: 不知道a的值,不能确定
答案: 【 1

24、单选题:
‏有以下程序,其中k的初值为八进制数‍‏  #include <stdio.h>‍‏  main()‍‏  {int k=011;‍‏  printf("%dn",k++);‍‏  }‍‏程序运行后的输出结果是‍
选项:
A: 12
B: 11
C: 10
D: 9
答案: 【 9

25、单选题:
‎有以下程序‍‎  #include <stdio.h>‍‎  main()‍‎  { int a=2,b=2,c=2;‍‎  printf("%dn",a/b&c);‍‎  }‍‎程序运行后的输出结果是‍
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 0

26、填空题:
‎表达式(int)((double)(5/2)+2.5)的值是           。‌
答案: 【 4

27、填空题:
‍若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(           ,x/y);补充完整,使其输出的计算结果形式为:x/y=11‍
答案: 【 "x/y=%d"

28、填空题:
‏有以下程序​‏#include <stdio.h>​‏main( )​‏{​‏char c1,c2;​‏scanf(“&c”,&c1);​‏while(c1<65||c1>90)​‏scanf(“&c”,&c1);​‏c2=c1+32;​‏printf(“&c, &cn”,c1,c2);​‏}​‏程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)          。​‏​
答案: 【 不能

29、填空题:
‌若有定义语句:int a=5;,则表达式:a++的值是              。​
答案: 【 5

30、填空题:
‏若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值为            。‌
答案: 【 1

31、填空题:
‏以下程序运行后的输出结果是             。​‏#include<stdio.h>​‏main()​‏{ int x=20;​‏  printf(“%d”,0<x<20);​‏  printf(“%dn”,0<x&&x<20);​‏}​
答案: 【 10

32、填空题:
‎设x为int型变量,请写出一个关系表达式                 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。‍
答案: 【 x%3==0&&x%7==0##%_YZPRLFH_%##x%21==0

33、填空题:
​以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。请填空。‌​  #include <stdio.h>‌​  main()‌​  { int x=256;‌​  printf("%d-%d-%dn",                   ,x/10%10,x/100);‌​  }‌
答案: 【 x%10

第三讲判断

小测验3.1

1、判断题:
以下语句是否可以通过编译:if ( 1<=n<=10 );
选项:
A: 正确
B: 错误
答案: 【 正确

2、判断题:
以下语句是否表示n属于[1,10]:if ( 1<=n<=10 );
选项:
A: 正确
B: 错误
答案: 【 错误

3、填空题:
写出程序的输出结果:int i,j,k;i=5; j=10; k=1;printf("%d", k>i<j);
答案: 【 1

4、填空题:
写出程序的输出结果:int i,j,k;i=2;j=3;k = i*j==6;printf("%dn", k);
答案: 【 1

5、填空题:
写出程序的输出结果:int i,j,k;i=3;j=2;k=1;printf("%d", i<j == j<k);
答案: 【 1

小测验3.2

1、填空题:
写出程序的输出:int i=1;switch ( i%3 ) {case 0: printf("zero");case 1: printf("one");case 2: printf("two");}
答案: 【 onetwo

2、填空题:
写出程序的输出:int a = 58;if ( a>50 ) printf("A");if ( a>40 ) printf("B");if ( a>30 ) printf("C");
答案: 【 ABC

选择结构练习

1、单选题:
‍设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是‌
选项:
A: if(a>b) c=a,a=b,b=c;
B: if(a>b) {c=a,a=b,b=c;}
C: if(a>b) c=a;a=b;b=c;
D: if(a>b) {c=a;a=b;b=c;}
答案: 【 if(a>b) c=a;a=b;b=c;

2、单选题:
‍以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是‍
选项:
A: if((a>b)&&(b>c)) k=1;else k=0;
B: if((a>b)||(b>c) k=1;else k=0;
C: if(a<=b) k=0;else if(b<=c) k=1;
D: if(a>b) k=1;else if(b>c) k=1; else k=0;
答案: 【 if((a>b)&&(b>c)) k=1;else k=0;

3、单选题:
‍以下是if语句的基本形式:‍‍if(表达式)‍‍语句‍‍其中“表达式”‍
选项:
A: 必须是逻辑表达式
B: 必须是关系表达式
C: 必须是逻辑表达式或关系表达式
D: 可以是任意合法的表达式
答案: 【 可以是任意合法的表达式

4、单选题:
​有以下程序‍​#include <stdio.h>‍​main()‍​{int x;‍​scanf(“%d”,&x);‍​if(x<=3); else‍​if(x!=10)‍​printf(“%dn”,x);‍​}‍​程序运行时,输入的值在哪个范围才会有输出结果‍
选项:
A: 不等于10的整数
B: 大于3且不等于10的整数
C: 大于3或等于10的整数
D: 小于3的整数
答案: 【 大于3且不等于10的整数

5、单选题:
​有以下程序‍​#include<stdio.h>‍​int main() ‍​{‍​int a=1,b=2,c=3,d=0;‍​if(a==1&&b++==2)‍​if(b!=2 || c--!=3)‍​printf("%d,%d,%dn",a,b,c);‍​else printf("%d,%d,%dn",a,b,c);‍​else printf("%d,%d,%dn",a,b,c);‍​}‍​程序运行后的输出结果是‍
选项:
A: 1,2,3
B: 1,3,2
C: 1,3,3

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注