第一章 C语言程序设计初步

第一章 测验

1、单选题:
‌下列变量名中合法的是 :‎
选项:
A: 3a6b   
B: B.C.Tom 
C: _6a7b
D: $ABC
答案: 【 _6a7b

2、单选题:
‍正确的定义变量的语句是:‍
选项:
A: int  ab_;
B: int –ab ; 
C: char  mm
D: float  a3.b;
答案: 【  int  ab_;

3、单选题:
‎以下合法的 C 语言字符常量是:  ‎
选项:
A: ”a”
B: ’t’
C: ’65’ 
D: a
答案: 【 ’t’

4、单选题:
‎下列都是合法转义字符的选项是:‌
选项:
A: ’’’ ‘\’‘n’ 
B:  ‘’  ‘17’‘”’ 
C:  ‘18’   ‘f’ ‘xab’
D: ’\0’ ‘101’‘x1f’
答案: 【 ’’’ ‘\’‘n’ 

5、单选题:
‏以下语句:temp=x; x=y; y=temp; 的功能是:‌
选项:
A: 把x,y,temp从小到大排列;
B: 把x,y,temp从大到小排列;
C: 交换x,y的值;
D: 无确定的结果。
答案: 【 交换x,y的值;

6、单选题:
‍若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是:​
选项:
A: 1 
B: 2
C: 2.0 
D: 2.5
答案: 【 2.0 

7、单选题:
‏以下程序的输出结果是:#include<stdio.h>
int main()
{  int a=12,b=12;
    printf("%d %dn",--a,b++);
    return 0;
}​
选项:
A: 10 11
B: 11 13
C: 11 10
D: 11 12
答案: 【 11 12

8、单选题:
‌以下不是合法的C语言常量的是:‏
选项:
A: 0x5C
B: 5e2.8
C: 031
D: “123”
答案: 【 5e2.8

9、单选题:
​在Dev-c++环境中, float类型的数据需要占用(                  )字节内存空间‏
选项:
A: 1
B: 2
C: 4
D: 8
答案: 【 4

10、单选题:
‌若有以下定义和语句:char c1='b',c2='e';
printf("%d,%cn",c2-c1,c2-'a'+'A');则输出结果是:​
选项:
A: 2,M
B: 3,E
C: 2,E
D: 输出项与对应的格式控制不一致,输出结果不确定
答案: 【 3,E

11、单选题:
‎有以下程序#include 
#include<stdio.h> 
int main()
{       int a,c=246;
        a=c/10 % 10;
        printf("%d",a);
        return 0;
}输出结果是:‏
选项:
A: 2
B: 4
C: 6
D: 9
答案: 【 4

12、单选题:
‏ 设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=32)后,x的值为:‏
选项:
A: 4
B: 16
C: 32
D: 52
答案: 【 32

13、单选题:
‌可在C语言中用作用户标识符的一组标识符是:‎
选项:
A: void  define  word
B: as  _b3_123  ff
C: for _abc case
D: 2cdo sig
答案: 【 as  _b3_123  ff

14、单选题:
‍下列变量定义语句中错误的是:‍
选项:
A: int MBK_do
B: char dog1 
C: float _sky  
D: int 2ab
答案: 【 int 2ab

15、单选题:
​能正确表示“当x的取值在[1,10]或[100,110]范围内为真,否则为假”的表达式是:‍
选项:
A: (x>=1) && (x<=10) && (x>=100)&&(x<=110)
B: (1<=x<=10)||(100<=x<=110)
C: (x>=1)&&(x<=10)||(x>=100) && (x<=110)
D: (x>=1)||(x<=10) && (x>=100)||(x<=110)
答案: 【 (x>=1)&&(x<=10)||(x>=100) && (x<=110)

16、单选题:
‍C语言中,运算对象必须是整型的运算符是:‎
选项:
A: %
B: /
C: %和/    
D: *
答案: 【 %

17、单选题:
‏以下不合法的用户标识符是:‏
选项:
A: j2_KEY 
B: dobule 
C: 4d 
D: _8_ 
答案: 【 4d 

18、单选题:
‌以下程序的输出结果是:#include<stdio.h>
int main( )
 { int k=17;
   printf("%d,%o,%xn",k,k,k);
   return 0;
 }​
选项:
A: 17,021,0x11
B: 17,17,17
C: 17,0x11,021
D: 17,21,11
答案: 【 17,21,11

19、单选题:
​已知:int x,y; float z; 则以下输入语句错误的是:‎​‎
选项:
A: scanf("%d,%d,%f",&x,&y,&z);
B: scanf ("%d%d%f",&x,&y,&z);
C: scanf ("%d %d %f", &x,&y,&z);
D: scanf ("%d%d%6.2f",&x,&y,&z);
答案: 【 scanf ("%d%d%6.2f",&x,&y,&z);

20、单选题:
‍可在C语言中用作用户标识符的一组标识符是:​
选项:
A: void define word
B: as_b3_123 ff
C: for_abc case
D: 2c do sig
答案: 【 as_b3_123 ff

21、单选题:
以下程序运行的结果是:‍#include <stdio.h>
int main()
{ int m=5,n=10;
  printf("%d,%dn",m++,--n);
  return 0;
}‍‍‍
选项:
A: 5,9
B: 6,9
C: 5,10
D: 6,10
答案: 【 5,9

22、单选题:
​根据以下定义语句和数据的输入方式,scanf语句的正确形式应为:         已有定义:float f1,f2;    数据的输入方式:4.52<回车>                                 3.5<回车>‏
选项:
A: scanf("%f,%f",&f1,&f2);
B: scanf("%f%f",&f1,&f2);
C: scanf("%3.2f %2.1f",&f1,&f2);
D: scanf("%3.2f%2.1f",&f1,&f2);
答案: 【 scanf("%f%f",&f1,&f2);

23、单选题:
阅读下列程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为:‏#include <stdio.h>
int main()
{ int x,y,z;
  scanf("%d%d%d",&x,&y,&z);
  printf("x+y+z=%dn",x+y+z);
  return 0;
}‏​‏
选项:
A: x+y+z=48
B: x+y+z=35
C: x+z=35
D: 不确定值
答案: 【 不确定值

24、单选题:
‍下列语句执行后,b的值是:char a='5',b=(char)(a+3);‏
选项:
A: '8'
B: 8
C: 56
D: 53
答案: 【 '8'

25、单选题:
‏C语言中的标识符只能由字母、数字和下画线组成,且第一个字符‎
选项:
A: 可以是字母、数字和下画线中的任一种字符
B: 必须为字母
C: 必须为数字
D: 必须为下画线或字母
答案: 【 必须为下画线或字母

26、单选题:
​表达式35/3%3的值是:‍
选项:
A: 11
B: 2
C: 3
D: 0
答案: 【 2

27、单选题:
‏C语言的语句都是以(              )结束。‎
选项:
A: .
B: 空格
C: ;
D: #
答案: 【 ;

28、单选题:
‌阅读下面的程序:#include<stdio.h>
int main()
{
   char ch;
   scanf("%c%c",&ch,&ch);
   printf("%c",ch);
   return 0;
}如果从键盘输入:1+2<回车>则程序的运行结果是:‎
选项:
A: 1
B: +
C: 2
D: 3
答案: 【 +

29、单选题:
‌已知字母a的ASCII码为十进制的97,下面程序的输出结果是:#include <stdio.h>
int main()
{
   char ch1,ch2;
   ch1='a'+'3'-'1';
   ch2='a'+'2'-'2';
   printf("%d,%cn",ch1,ch2);
   return 0;
}​
选项:
A: 99,a
B: 99,97
C: c,97
D: 不确定的值
答案: 【 99,a

30、单选题:
‎下列选项中表示整型数据的是:‌
选项:
A: 1e-5
B: "1"
C: 'haha'
D: 0xaf
答案: 【 0xaf

第二章 选择结构

第二章 测验

1、单选题:
逻辑运算符两侧运算对象的数据类型(   )‌
选项:
A: 只能是0或1               
B: 只能是0或非0正数
C: 只能是整型或字符型数据 
D: 可以是任何类型的数据
答案: 【 可以是任何类型的数据

2、单选题:
​能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是(  )‌
选项:
A: (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B: (x>=1)||(x<=10)||(x>=200)||(x<=210)
C: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D: (x>=1)||(x<=10)&&(x>=200)||(x<=210)
答案: 【 (x>=1)&&(x<=10)||(x>=200)&&(x<=210)

3、单选题:
‌若有:int a=1,b=2,c=3,d=4,m=2,n=2;‍‌则执行(m=a>b)&&(n=c>d)后n的值是(   )‍
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2

4、单选题:
‌以下程序的输出结果是(   )‏#include<stdio.h>‏ int main()‏{  int a,b,d=241;‏      a=d/100%9;‏      b=(-1)&&(-1);‏printf(“%d,%d”,a,b);‏return 0;‏ }‏‏
选项:
A: 6,1  
B: 2,1 
C: 6,0    
D: 2,0
答案: 【 2,1 

5、单选题:
‏若有int x=10,y=20,z=30;以下语句执行后x,y,z的值是(   )‍if (x>y)‍z=x;x=y;y=z;‍
选项:
A: x=10,y=20,z=30      
B: x=20,y=30,z=30
C: x=20,y=30,z=10    
D: x=20,y=30,z=20
答案: 【 x=20,y=30,z=30

6、单选题:
‌以下程序的输出结果是(   )​#include<stdio.h>​int main()​{  int a=0,b=0,c=0;​ if(a=b+c)  printf("***n");​ else      printf("$$$n");​return 0;​}​
选项:
A: 有语法错误不能通过编译  
B: 可以通过编译但不能通过连接
C: ***   
D: $$$
答案: 【 $$$

7、单选题:
‍以下程序的输出结果是(   )​#include<stdio.h>​int main()​ {  int m=5;​if(m++>5)   printf("%dn",m);​else              printf("%dn",m--);​return 0;​}                       ​‍​
选项:
A: 4   
B:  5
C: 6    
D: 7
答案: 【 6    

8、单选题:
​以下程序的输出结果是(   )​#include<stdio.h>​int main()​ {  int x=2,y=-1,z=2;​if(x<y)​      if(y<0)   z=0;​      else     z+=1;​    printf("%dn",z);​return 0;​}​
选项:
A: 3   
B:  2 
C:   1          
D:   0
答案: 【  2 

9、单选题:
‏以下程序的输出结果是(   )‎#include<stdio.h>‎int main()‎ {  int a=1,b=3,c=5,d=4,x;‎if(a<b)‎if(c<d)  x=1; ‎else‎            if(a<c)‎                 if(b<d)   x=2;‎                else      x=3;‎           else  x=6;‎else x=7;‎printf("x=%d",x);‎return 0;‎}‎
选项:
A: 1                        
B:  2      
C: 3    
D:  6
答案: 【  2      

10、单选题:
‍为了避免嵌套的if—else语句的二义性,C语言规定else总是与(   )组成配对关系‌
选项:
A: 缩排位置相同的if
B: 在其之前未配对的if
C: 在其之前未配对的最近的if      
D: 同一行上的if
答案: 【 在其之前未配对的最近的if      

11、单选题:
‌若运行时给变量x输入12,则以下程序的运行结果是(    )‎‌‎#include<stdio.h>‎int main()‎{  int x,y;‎ scanf("%d",&x);‎ y=x>12?x+10:x-12;‎ printf("%dn",y);‎return 0;‎}‎
选项:
A: 0     
B: 22         
C: 12            
D: 10
答案: 【 0     

12、单选题:
‍以下程序的输出结果是(   )‌#include<stdio.h>‌int main()‌ {  int  k=4,a=3,b=2,c=1;‌printf("n%dn",k<a?k:c<b?c:a);‌return 0;‌}‌
选项:
A: 4       
B: 3           
C: 2      
D: 1
答案: 【 1

13、单选题:
​若w=1,x=2,y=3,z=4,则表达式w<x?w:y<z?y:z的值是(   )​
选项:
A: 4       
B:  3          
C: 2    
D: 1
答案: 【 1

14、单选题:
‎执行下列程序段后,变量a,b,c的值分别为(   )‎‎‎‎int a,b,c,x=10,y=9;‎‎a=(--x==y++)?--x:++y;‎‎b=x++;‎‎c=y;‎
选项:
A: a=9,b=9,c=9     
B: a=8,b=8,c=10
C:      a=9,b=10,c=9             
D:      a=1,b=11,c=10
答案: 【 a=8,b=8,c=10

15、单选题:
‎以下程序的输出结果是(   )‌‎#include<stdio.h>‌‎ int main()‌‎ {‌  int x=0,y=2,z=3;‌switch(x)‌{  case  0:  switch(y)‌                 {   case   0:  printf("*");  break;‌                     case   1:  printf("%");  break;‌                     case   2:  printf("&");  break;‌                  }‌   case   1:  switch(z)‌                  {  case   1:  printf("$");‌                     case   2:  printf("#");   break;‌                     default:    printf("@");‌                   }‌  default :     printf("!");‌}‌return 0;‌}‌
选项:
A: &@!       
B:  *            
C: %@    
D: &!
答案: 【 &@!       

16、单选题:
‏下列条件语句中,功能与其他语句不同的是()‌
选项:
A: if(a) printf("%dn",x); else printf("%dn",y);
B: if(a==0) printf("%dn",y); else printf("%dn",x);
C: if (a!=0) printf("%dn",x); else printf("%dn",y);
D: if(a==0) printf("%dn",x); else printf("%dn",y); 
答案: 【 if(a==0) printf("%dn",x); else printf("%dn",y); 

17、单选题:
‎有如下程序 #include<stdio.h>‏‎int main( )  { int x=1,a=0,b=0;  switch(x){  case 0: b++;  case 1: a++; case 2: a++;b++; }  printf("a=%d,b=%dn",a,b); return 0; ‏‎}  该程序的输出结果是 ( ) ‏
选项:
A: a=2,b=1
B: a=1,b=1
C: a=1,b=0
D: a=2,b=2
答案: 【 a=2,b=1

18、单选题:
‍若执行下面的程序时从键盘上输入3和4,则输出是() #include<stdio.h>‏‍int main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a<b)s=b; s=s*s; printf("%dn",s);‏‍return 0;‏‍}‏
选项:
A: 14
B: 16
C: 18
D: 20
答案: 【 16

19、单选题:
设ch是char型变量,其值为A,且有表达式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch;则表达式的值是()​
选项:
A: A
B: a
C: Z
D: z
答案: 【 a

20、单选题:
设a,b和c都是int型变量,且a=3,b=4,c=5,则表达式中值为0的表达式是()‌
选项:
A: 'a'&&'b'
B: a<b
C: a||b+c&&b-c
D: !((a<b)&&!c||1)
答案: 【 !((a<b)&&!c||1)

21、单选题:
能正确表示a≥10或a≤0的关系表达式是()‎
选项:
A: a>=10 or a<=0
B: a>=10 | a<=0
C: a> =10 , a< =0
D: a>=10 || a<=0
答案: 【 a>=10 || a<=0

22、单选题:
若运行下面程序时,给变量a输入15,则输出结果是( )。‌#include<stdio.h>‌int main( )‌{ int a,b;‌scanf("%d",&a);‌b=a>15?a+10:a-10;‌printf("%dn",b) ;‌return 0;‌}‌
选项:
A: 5 
B: 25
C: 15
D: 10
答案: 【 5 

23、单选题:
以下选项中,两个条件语句语义等价的是( )​
选项:
A: if(a=2)printf("%dn",a);if(a==2)printf("%n",a);
B: if(a-2)printf("%dn",a);if(a!=2)printf("%n",a);
C: if(a)printf("%dn",a);if(a==0)printf("%n",a);
D: if(a-2)printf("%dn",a);if(a==2)printf("%n",a);
答案: 【 if(a-2)printf("%dn",a);if(a!=2)printf("%n",a);

24、单选题:
关于switch语句和break语句的描述中,正确的是()​
选项:
A: 在switch语句中必须使用break语句
B: break语句只能用于switch语句中
C: 在使用switch语句时,可以根据需要选择是否使用break语句
D: break语句是switch语句的一部分
答案: 【 在使用switch语句时,可以根据需要选择是否使用break语句

25、单选题:
以下程序的输出结果是(   )‌#include<stdio.h>‌int main()‌{  int x=1,y=0;‌   switch(x)‌     {  case  1: switch(y)‌                 

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

发表评论

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