第一周 C语言简介

判断题(本周语法汇总)

1、判断题:
​编写C程序时,main函数必不可少。‌
选项:
A: 正确
B: 错误
答案: 【 正确

2、判断题:
‎printf("n");  可实现换行‍
选项:
A: 正确
B: 错误
答案: 【 正确

3、判断题:
‏C的每条语句结束处必须用分号。‎
选项:
A: 正确
B: 错误
答案: 【 正确

4、判断题:
​注释语句不影响程序的运行。​
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‌若使用printf输出结果,则必须在程序前添加#include <stdio.h>​
选项:
A: 正确
B: 错误
答案: 【 正确

6、判断题:
‌C程序中的标点符号(如分号;)必须用英文的标点符号。‌
选项:
A: 正确
B: 错误
答案: 【 正确

选择题

1、单选题:
‍下面的叙述正确的是()。‎
选项:
A: 一个C的源程序必须包含1个以上的main函数
B: 在C的源程序中,main函数不是必须的
C: 一个C的源程序可以由一个或多个函数组成
D: printf函数是程序执行的起始位置
答案: 【 一个C的源程序可以由一个或多个函数组成

2、单选题:
​C程序是从()开始执行的。‌
选项:
A: return语句
B: 主函数
C: 文件开始的注释部分
D: 放在最前面的函数
答案: 【 主函数

3、单选题:
‌关于C程序的叙述,正确的是(  )。​
选项:
A: 一条语句可以写在多行,也可以多条语句写在一行
B: 一行只能写一条语句
C: 从//开始的程序都是注释内容
D: /*   */只能写在一行,其中的内容为注释部分
答案: 【 一条语句可以写在多行,也可以多条语句写在一行

4、单选题:
‍以下正确的printf语句是()。​
选项:
A: ‍printf ("This is a C program.")
B: ‍printf ("This is a C program.);
C: ‍printf ("This is a C program.n");
D: ‍printf  "This is a C program.";
答案: 【 ‍printf ("This is a C program.n");

5、单选题:
​   ‌​/*‌​程序功能:打印输出hello world‌​ #include <stdio.h> ‌​  int main() ‌​ {‌​    printf("Hello, worldn");‌​    return 0;‌​}‌​‌​‌​上面程序的运行结果是(  )‌​‌
选项:
A: 程序出错,不能运行
B: Hello, world
C: 程序功能:打印输出hello world
D: "Hello, worldn"
答案: 【 程序出错,不能运行

6、单选题:
‌设有程序“1.cpp”,编译后运行该程序,执行的是(    )文件。‌
选项:
A: 1.cpp
B: 1.obj
C: 1.exe
D: 1.c
答案: 【 1.exe

7、多选题:
下面程序的错误是()‎#include <stdio.h> ‎ ‎int mian() ‎{‎    printf("hello world")‎         ‎    return 0;‎}‎‍‎
选项:
A: printf("hello world")  后面少分号
B: 主函数名写错
C: 多了return 0;
D: main()后面少分号
答案: 【 printf("hello world")  后面少分号;
主函数名写错

8、多选题:
输出结果为500+200=700的语句是()。​
选项:
A: printf("500+200=%d,500+200");
B: printf("500+200=%d",500+200);
C: printf("500+200=700");
D: print 500+200=700;
答案: 【 printf("500+200=%d",500+200);;
printf("500+200=700");

9、多选题:
‏输出结果为25*64=1600的语句是()。‍
选项:
A: printf("25*64=%d",25*64);
B: printf("25*64=1600");
C: printf("25*64=%d, 25*64");
D: print 25*64=1600;
答案: 【 printf("25*64=%d",25*64);;
printf("25*64=1600");

10、多选题:
下面是关于C程序注释的叙述,其中正确的是(  )。‍‎‍
选项:
A: /*……*/可以注释多行,也可以注释一行
B: 从//开始的程序都是注释内容
C: /*   */与//注释的范围没有区别
D: //是行注释,从//开始至行尾为注释内容
答案: 【 /*……*/可以注释多行,也可以注释一行;
//是行注释,从//开始至行尾为注释内容

第二周 C语言基础语法

语法知识选择题

1、单选题:
‎下列浮点数的表示中不正确的是(    )。​
选项:
A: 22.3 
B:  .719e22 
C: e23
D: 12. e2
答案: 【 e23

2、单选题:
‎合法的C语言标识符是(    )‏
选项:
A: 2a
B: sum
C: int 
D: a*b
答案: 【 sum

3、单选题:
‍不合法的C语言标识符是 (    )。​
选项:
A: _8_
B:  j2_KEY 
C: 4d
D: Double
答案: 【 4d

4、单选题:
‏下列定义变量的语句中错误的是(  )。‎
选项:
A: int  x1; 
B: float y1; 
C: double z1; 
D: Double a1;
答案: 【 Double a1;

5、单选题:
​在C语言中,要求运算数必须是整型的运算符是(     )。‌
选项:
A: %
B: /
C: +
D: -
答案: 【 %

6、单选题:

下面(   )语句正确地描述了计算公式

‍   

‌选项:
A: y = ax*x*x/x – b;
B: y = ax*x*x/(x – b);
C: y = (a*x*x*x)/(x – b);
D: y = a*x*x*x/x – b;
答案: 【 y = (a*x*x*x)/(x – b);

7、单选题:
‌下面(   )是合法的赋值语句 .​
选项:
A:  i=1;
B: ‍i+1=5;
C: 5=i;
D: i *3=i+1;
答案: 【  i=1;

8、单选题:
‎下面程序的输出是(   ) 。‎‎#include <stdio.h>int main(){   int x=10,y=3;   printf("%d",y=x/y);   return 0;}‎
选项:
A: 0
B: 1
C: 3
D: 不确定的值
答案: 【 3

9、单选题:
‌下面程序的输出是(   ) 。​‌#include <stdio.h>int  main(){ int  a= 5; printf("a=%dn",++a+2); return 0;​‌}​
选项:
A: a=6
B: 8
C: a=5
D: a=8
答案: 【 a=8

10、单选题:
​78%10的结果是(   )。​
选项:
A: 78
B: 8
C: 7
D: 10
答案: 【 8

11、单选题:
‍下面程序的输出是(   ) 。‌‍ ‌‍#include  <stdio.h>‌‍int  main()‌‍{‌‍   int  a=8;‌‍   printf("%dn",(a++)*2);‌‍   return 0;‌‍}‌
选项:
A: 8
B: 9
C: 16
D: 18
答案: 【 16

12、单选题:
‏下面程序的输出是(   ) 。​‏#include  <stdio.h>​‏int  main()​‏{   int  a=3;​‏   printf("%dn",(a--)*7);​‏   return 0;}​‏ ​‏ ​
选项:
A: 21
B: 2
C: 3
D: 14
答案: 【 21

13、单选题:
​下面程序的输出是(   ) 。​​#include <stdio.h>​​int  main()​​{​​   int  b=3,a= 3;​​   printf("%d,%dn",b,a--);​​   return 0;​​}​​​​ ​
选项:
A: 3,2
B: 2,3
C: 3
D: 3,3
答案: 【 3,3

14、单选题:
‍i=1;‍‍执行(    )语句后,变量i的值不会发生变化。‍
选项:
A: i+5;
B: --i;
C: i=2*i;
D: i=6;
答案: 【 i+5;

15、单选题:
‎int x;‏‎scanf("%d",&x);‏‎下面(   )可以获得x的个位数。‏
选项:
A: x%10;
B: x/10;
C: x/100-x/10;
D: x-x/10;
答案: 【 x%10;

16、单选题:
‍语句float x=3.0 ,y=4.0;下列表达式中y的值为9.0的是(  )。​
选项:
A:  y/=x*27/4
B: y+=x+2.0
C: y-=x+0.8
D:  y*=x-3.0
答案: 【 y+=x+2.0

17、单选题:
‏有关运算符的正确描述是(  )​
选项:
A: 单目运算符优先级高于双目运算符
B: 赋值运算符是左结合的
C: 所有运算符都是左结合的
D: 赋值号的运算优先级是最低的
答案: 【 单目运算符优先级高于双目运算符

18、多选题:

下面(          )语句正确地描述了方程

选项:
A: ‍y = a * x * x * x + c;
B: y = a * x * x * (x + c);
C: y = (a * x * x * x) + c;
D: y = (a * x) * x * (x + c);
答案: 【 ‍y = a * x * x * x + c;;
y = (a * x * x * x) + c;

19、多选题:
‌下面(   )能完成变量a,b的值的交换。‌
选项:
A: t=a;a=b;b=t;
B: a=b;b=a;
C: a=b;
D: a=a+b;b=a-b;a=a-b;
答案: 【 t=a;a=b;b=t;;
a=a+b;b=a-b;a=a-b;

20、多选题:
‍(   )可以使整型变量i的值加1 。‍
选项:
A: i++;
B: ++i;
C: i=i+1;
D: i+=1;
答案: 【 i++;;
++i;;
i=i+1;;
i+=1;

21、多选题:
int  y,a;‌scanf("%d",&y);‌输入任意整数,下面(   )中,a是y的百位数。‌
选项:
A: a=y/100%10;
B: a=y%1000/100;
C: a=y%100;
D: a=y/100;
E: a=y/10000%10;
F: a=y/1000%10;
答案: 【 a=y/100%10;;
a=y%1000/100;

第三周 格式化输入输出及选择结构1

选择题

1、单选题:
‌‍‌能正确表示逻辑关系x<=y<=z的C语言表达式为(  ) ‌
选项:
A: (x<=y)&&(y<=z) 
B: ‍ (x<=y)AND(y<=z)
C: ‍  (x<=y<=z)   
D: ‍(x<=y)&(y<=z) 
答案: 【 (x<=y)&&(y<=z) 

2、单选题:
‌‍能正确表示逻辑关系“a大于等于10或a小于等于0”的C语言表达式是 (       )  ‍
选项:
A: ‍a>=10 or a<=0
B: ‍a>=0|a<=10  
C: a>=10&& a<=0  ‍
D: a>=10‖a<=0 
答案: 【 a>=10‖a<=0 

3、单选题:
​‎能正确表示逻辑关系“79<X<90”的C语言表达式是(  )‎
选项:
A: ‍ ( X>79 ) && ( X<90 ) 
B: ‍( X>79 )!=( X<90 )
C: ‍79<X<90
D:  (X>79 )||( X<90)
答案: 【 ‍ ( X>79 ) && ( X<90 ) 

4、单选题:
‏‏设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是( )‏
选项:
A: ‍10<a<15          
B: ‍a==11||a==12||a==13||a==14
C: ‍ a>10&&a<15 
D: ‍!(a<=10)&&!(a>=15) 
答案: 【 ‍10<a<15          

5、单选题:
‏‏设x,t均为int型变量,则执行语句“x=10; t=x&&x>10;”后,t的值为( )‏
选项:
A: ‍值不确定
B: ‍10
C: ‍1
D: ‍0
答案: 【 ‍0

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

7、单选题:
‏语法不正确的语句是(   )‏
选项:
A: if (x>y);
B: ‍if (x=y) {x++;y++;}
C: ‍if (x==y) && (x!=0)  x++;
D: if (x!=y) scanf ("%d", &x);
答案: 【 ‍if (x==y) && (x!=0)  x++;

8、单选题:
​‏如果整型变量a,b,c的值分别为5,4,3,则语句if(a>b>c) c++; 执行后c的值是( )‏
选项:
A: 5
B: 4
C: 3
D: 2
答案: 【 3

9、单选题:
如果整型变量a,b,c的值分别为3,4,5,则语句 if(a<b<c) c++;执行后c的值是( )‎
选项:
A: ‍3
B: ‍4
C: 5
D: 6
答案: 【 6

10、单选题:
‏‌运行以下程序,如果从键盘上输入5,则输出结果是(   ) ‌‏#include<stdio.h>‌‏int  main()‌‏{ ‌‏int x;‌‏scanf("%d", &x);‌‏if (x--< 5) printf("%d", x);‌‏} ‌
选项:
A: ‍3
B: ‍4
C: ‍5
D: 无输出‍
答案: 【 无输出‍

11、单选题:
‌C语言语句中,可以用来决定分支流程的表达式是(  )‍
选项:
A: ‍任意表达式
B: 只能用逻辑表达式或关系表达式
C: 只能用逻辑表达式
D: ‍只能用关系表达式
答案: 【 ‍任意表达式

12、单选题:
​int x=102,y=12;‌​printf("%2d,%3dn",x,y);‌​执行后输出结果是(    )‌​‌
选项:
A: 10,012
B: 02, 12
C: 102, 12
D: 102,120
答案: 【 102, 12

13、单选题:
‎设i是 int 型变量 ,j是 float 型变量 , 用下面的语句给这两个变量输入值: ​‎scanf("i=%d, j=%f",&i,&j);  ​‎为了把 10 和 2.5分别赋给 i 和  j, 则正确的输入为(   ) ​
选项:
A: 10   2.5< 回车 > 
B: i=10,j=2.5< 回车 > 
C: 10  < 回车 > 2.5< 回车 >
D: x=10 < 回车 > ,y=2.5< 回车 > 
答案: 【 i=10,j=2.5< 回车 > 

14、单选题:
执行下面语句,​int a =1,b=2,c=3;​if(a>c)  b =c; a=c; c=b;​a,b,c的值分别为(        )(用逗号分隔)​
选项:
A: 3,2,2
B: 1,2,3
C: 3,3,2
D: 3,3,3
答案: 【 3,2,2

15、单选题:
‏请选出正确的输入语句(   )。​
选项:
A: double f;scanf("%lf",&f);
B: float x,y;                  scanf("%f%f",x,y);
C: float x;scanf("%fn",x);
D: double x;scanf("%f",&x);
答案: 【 double f;scanf("%lf",&f);

16、多选题:
‍在printf函数中,浮点型数据输出的格式控制符有(   )。‍
选项:
A: %e
B: %d
C: %f
D: %g
答案: 【 %e;
%f;
%g

17、多选题:
‎下面程序中,(   )可以输出变量a,b,c的最大值。‎
选项:
A: if(a>=b && a>=c )   printf( "最大值为%dn",a); if(b>=a && b>=c)    printf( "最大值为%dn",b); if(c>=a && c>=b)    printf( "最大值为%dn",c); 
B: max=a; if(b>max) max=b; if(c>max) max=c;printf( "最大值为%dn",max);
C: if(a>b>c )   printf( "最大值为%dn",a); if(b>a>c)    printf( "最大值为%dn",b); if(c>a>b)    printf( "最大值为%dn",c); 
D: if(a>b)   max=a; if(c>max) max=c;printf( "最大值为%dn",max);
答案: 【 if(a>=b && a>=c )   printf( "最大值为%dn",a); if(b>=a && b>=c)    printf( "最大值为%dn",b); if(c>=a && c>=b)    printf( "最大值为%dn",c); ;
max=a; if(b>max) max=b; if(c>max) max=c;printf( "最大值为%dn",max);

18、填空题:
‏设a=1, b=2, c=3,关系表达式a+b>=c 的值是(   )。‌
答案: 【 1

19、填空题:
​设a=1, b=2, c=3,逻辑表达式a && b && c的值是(   )。​
答案: 【 1

20、填空题:
‏设a=1, b=2, c=3,逻辑表达式a || !b || !c的值是(   )。‍
答案: 【 1

21、填空题:
输入一个考试分数(0至100范围内),如果分数小于60分,则输出“不及格”;大于90分输出“优秀”;大于等于60并且小于等于90,则输出“合格”。(有1个空,答案一行写一个,不要添加多余的空格)‎‎#include <stdio.h>‎ int main()‎{ ‎  int x;‎  ‎  printf("请输入分数(0-100): ");‎  scanf("%d",&x);‎  ‎  if(x<60)             printf( "不及格n"); ‎  if(x>90)             printf( "优秀n"); ‎                            printf( "合格n");           //注意分数在一个区间内,C语言中该如何描述‎      ‎  return 0;‎}‎‌‎
答案: 【 if(x>=60 && x<=90)##%_YZPRLFH_%##if(60<=x && x<=90)##%_YZPRLFH_%##if(60=x)##%_YZPRLFH_%##if(x>=60 && 90>=x)##%_YZPRLFH_%##if(x>=60&&x<=90)##%_YZPRLFH_%##if(60<=x&&x<=90)##%_YZPRLFH_%##if(60=x)##%_YZPRLFH_%##if(x>=60&&90>=x)##%_YZPRLFH_%##if((x>=60)&&(x<=90))

22、填空题:
我国的邮政编码由六位阿拉伯数字组成,前第三位代表邮区,厦门市的邮政编码前三位为361 。‍下面的程序功能:如果输入的邮政编码前3位是361,则输出“厦门市的邮件”;如果不是361,则输出“不是厦门市的邮件”。‍请完善程序(有2个空,答案一行写一个,不要添加多余的空格).‍‍#include <stdio.h> int main(){   int code;    printf("请输入邮政编码: ");  scanf("         %*3d",&code);           //用scanf函数截取输入邮政编码的前3位‍  ‍  if(361         code )    printf( "厦门市的邮件n");   if (361!=code)   printf( "不是厦门市的邮件n");       return 0;}‍‍​需要更多样例参考的同学可查阅课件 “ 选择结构初步 ” 里的最后一个文档  “ 习题解析 ”中第2题‍
答案: 【 %3d
==

第四周 选择结构2

多分支选择题

1、单选题:
分析以下程序, 下列说法正确的是(  )‎#include<stdio.h>‎main()‎{ ‎    int x=5,a=0,b=0;‎    if(x=a+b) printf("* * * *n");‎    else   printf("# # # #n");‎}‎‍‎
选项:
A: 有语法错,不能通过编译
B: 通过编译,但不能连接
C: 输出* * * *
D: 输出# # # #
答案: 【 输出# # # #

2、单选题:
分析以下程序, 下列说法正确的是(  )‍#include<stdio.h> main()‍{ ‍    int x=6,a=8,b=3;‍    if(x=a+b) printf("* * * *n");‍    else   printf("# # # #n");‍}‍‍
选项:
A: 有语法错,不能通过编译
B: 通过编译,但不能连接
C: 输出* * * *  
D: 输出# # # #
答案: 【 输出* * * *  

3、单选题:
分析以下程序, 下列说法正确的是(  )‎#include<stdio.h> ‎main()‎{ ‎    int x=0,a=0,b=0;‎    if(x==a+b) printf("* * * *n");‎    else   printf("# # # #n");‎}‎
选项:
A: 有语法错,不能通过编译
B: 通过编译,但不能连接
C: 输出* * * *
D: 输出# # # #
答案: 【 输出* * * *

4、单选题:
运行以下程序,如果从键盘上输入5,则输出结果是( )​#include<stdio.h> int  main(){    int x;    scanf("%d", &x);    if ( x--< 5)            printf("%d", x);    else        printf("%d",x++);}​​​
选项:
A: 3
B: 4
C: 5
D: 6
答案: 【 4

5、单选题:
运行以下程序,如果从键盘上输入5,则输出结果是( )‌#include<stdio.h> int  main(){    int x;    scanf("%d", &x);    if ( x--< 5)            printf("%d", x);    else        printf("%d",++x);}‌
选项:
A: ‍3

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

发表评论

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