《C语言程序设计》测试题.docx

上传人:b****4 文档编号:27147869 上传时间:2023-06-27 格式:DOCX 页数:9 大小:27.97KB
下载 相关 举报
《C语言程序设计》测试题.docx_第1页
第1页 / 共9页
《C语言程序设计》测试题.docx_第2页
第2页 / 共9页
《C语言程序设计》测试题.docx_第3页
第3页 / 共9页
《C语言程序设计》测试题.docx_第4页
第4页 / 共9页
《C语言程序设计》测试题.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

《C语言程序设计》测试题.docx

《《C语言程序设计》测试题.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》测试题.docx(9页珍藏版)》请在冰豆网上搜索。

《C语言程序设计》测试题.docx

《C语言程序设计》测试题

《C语言程序设计》试题

一、单项选择题(共30分,每题1分)

1.下列不正确的转义字符是( C )

A.\\   B.\’  C.074  D.\0

2.不是C语言提供的合法关键字是( B)

A.switch  B.cher  C.case   D.default

3.正确的标识符是(  D )

A.?

a  B.a=2  C.a.3  D.a_3

在程序中使用的变量名、函数名、标号等统称为标识符。

除库函数的函数名由系统定义外,其余都由用户自定义。

C规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线()组成的字符串,并且其第一个字符必须是字母或下划线。

  在使用标识符时还必须注意以下几点:

  

(1)标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。

例如在某版本C中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。

  

(2)在标识符中,大小写是有区别的。

例如BOOK和book是两个不同的标识符。

  (3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。

因此,命名应尽量有相应的意义,以便阅读理解,作到“顾名思义”。

4.下列字符中属于键盘符号的是( A)

A.\  B.\n  C.\t D.\b

5.下列数据中属于“字符串常量”的是( B )

A.ABC  B.“ABC”  C.‘ABC’ D.‘A’

6.char型常量在内存中存放的是( A)

A.ASCII码  B.BCD码  C.内码值  D.十进制代码值

7.设a为5,执行下列语句后,b的值不为2的是( C)

A.b=a/2   B.b=6-(--a) C.b=a%2  D.b=a>3?

2:

2

8.在以下一组运算符中,优先级最高的运算符是( C)

A.<=  B.=   C.%   D.&&

9.设整型变量i的值为3,则计算表达式i---i后表达式的值是(A)

A.0  B.1   C.  2  D.表达式出错

10.设整型变量a,b,c均为2,表达式a+++b+++c++的结果是(  A)

A.6   B.9   C.8  D.表达式出错

11.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C)

A.1    B.2   C.2.0   D.2.5

12.设a=1,b=2,c=3,d=4,则表达式:

a

a:

c

a:

d的结果是(D)

A.4  B.3  C.2  D.1

13.设a为整型变量,不能正确表达数学关系:

10

A.10

C.a>10&&a<15  D.!

(a<=10)&&!

(a>=15)

14.若有以下定义:

chara、intb、floatc、doubled,则表达式a*b+d-c值的类型为(D)

A.float  B.int  C.char  D.double

15.表达式“10!

=9”的值是( D )

A.true  B.非零值  C.0   D.1

16.循环语句for(x=0,y=0;(y!

=123)||(x<4);x++);的循环执行( C)

A.无限次  B.不确定次  C.4次  D.3次

17.在C语言中,下列说法中正确的是( D  )

A.不能使用“dowhile”的循环 

B.“dowhile”的循环必须使用break语句退出循环

C.“dowhile”的循环中,当条件为非0时将结束循环 

D.“dowhile”的循环中,当条件为0时将结束循环。

   18.设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b)后使a为’A’,b为’B’,从键盘上的正确输入是(  D)

      A.’A’‘B’   B.’A’,’B’   C.A=A,B=B   D.a=A,b=B

   19.设i,j,k均为int型变量,执行完下面的for循环后,k的值为( A)

for(i=0,j=10;i<=j;i++,j--)k=i+j;

A.10   B.9   C.8  D.7

   20.设有定义:

chars[12]={“string”};则printf(“%d\n”,strlen(s));的输出是(A )

A.6   B.7  C.11   D.12

21.合法的数组定义是(D)

A.inta[]={“string”}; B.inta[5]={0,1,2,3,4,5}; 

C.chara[]={“string”};  D.chara[]={0,1,2,3,4,5}

22.函数调用strcat(strcpy(str1,str2),str3)的功能是(A)

A.将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后

B.将字符串str1复制到字符串str2中后再连接到字符串str3之后

C.将字符串str1复制到字符串str2中后再复制到字符串str3之后

D.将字符串str2连接到字符串str1中后再将字符串str1复制到字符串str3中

23.设有如下定义,则正确的叙述为(  )

     Charx[]={“abcdefg”};

char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};

A.数组x和数组y等价 B.数组x和数组y的长度相同

C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度

24.设有单精度变量f,其值为13.8。

执行语句“n=((int)f)%3;”后,n的值是(B)没有四舍五入

A.4    B.1   C.4.333333   D.4.6

25.执行语句“f=(3.0,4.0,5.0),(2.0,1.0,0.0);”后,单精度变量f的值是( D )

 A.3.0   B.5.0    C.2.0   D.0.0

26.设a、b均为整型变量,下列表达式中不是赋值表达式的是( A )

A.a=3,4,5   B.a=3*2   C.a=a&&b   D.a=b=4

27.表达式“1?

(0?

3:

2):

(10?

1:

0)”的值为( B )

1?

2:

1

 A.3   B.2   C.1  D.0

28.sizeof(double)的结果值是( A  )

 A.8   B.4   C.2  D.出错

29.指出下面正确的输入语句是(  B )

A.scanf(“a=b=%d”,&a,&b)B.scanf(“a=%d,b=%f”,&m,&f);

C.scanf(“%3c”,c); D.scanf(“%5.2f,&f);

printf(“%5,2d”.&f)

30.若有以下定义和语句,且0<=i<5,则(  C  )是对数组元素地址的正确表示

  inta[]={1,2,3,4,5},*p,i;p=a;

A.&(a+i)    B.&p    C.a++     D.&p[i]

 

二、填空(20分,每空1分)

 1.在内存中存储“A”要占用(  2  )个字节,存储‘A’要占用(  1  )字节。

 2.符号常量的定义方法是(   #define符号常量   常量                              )。

 3.能表述“20

 4.结构化程序设计方法规定程序或程序段的结构有三种:

顺序结构、(  顺序结构   )和(  循环结构  )。

 5.C语言共提供了三种用于实现循环结构的流程控制语句,它们是(  do )、( for )和( while   )。

 6.若在程序中用到“putchar”,应在程序开头写上包含命令#inlcude                   ),若在程序中用到“strlen()”函数时,应在程序开头写上包含命令( #inlcude    )。

 7.设有定义语句“staticinta[3][4]={{1},{2},{3}}”,则a[1][1]值为(     0       ),a[2][1]的值为(    0    )。

 8.“*”称为(       指针   )运算符,“&”称为(       地址    )运算符。

 9.赋值表达式和赋值语句的区别在于有无(   分号   )号。

 10.用{}把一些语句括起来称为(复合语句         )语句

 11.设a=12、b=24、c=36,对于“scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);”,输入形式应为(       12,24,36,                              )

 12.表达式“sqrt(s*(s-a)*(s-b)*(s-c));”对应的数学式子为(    

               )

 13.C语言编绎系统在判断一个量是否为“真”时,以0代表“假”,以(    非0   )代表“真”

 

三、读程序,写出运行结果(30分)

   1. main()

 {inta=10,b=4,c=3;

   if(a

    if(a

printf(“%d,%d,%d”,a,b,c);}1043      

2.   main()

 {int y=9;

  for(;y>0;y--)

   if(y%3==0){printf(“%d”,--y);continue;}

852

      3.     main()

{intx,y;

    for(y=1,x=1;y<=50;y++)

        {if(x>=10)break;

         if(x%2==1){x+=5;continue;}

         x-=3;      }

    printf(“%d”,y);}

6

 

4.  main()

{staticinta[][3]={9,7,5,3,1,2,4,6,8};

    inti,j,s1=0,s2=0;

i,j,s1=0,s2=0;

    for(i=0;i<3;i++)

        for(j=0;j<3;j++)

             {if(i==j)s1=s1+a[i][j];

              if(i+j==2)s2=s2+a[i][j];

           }

    printf(“%d\n%d\n”,s1,s2);}

S1=18s2=10

5. main()

   {staticchara[]={‘*’,’*’,’*’,’*’,’*’};

     inti,j,k;

     for(i=0;i<5;i++)

 {printf(“\n”);

  for(j=0;j

for(k=0;k<5;k++)printf(“%c”,a[k]); 

}    

}

 

6.    intfac(intn)

    {staticintf=1;

     f=f*n;return(f);}

main()

{inti;

 for(i=1;i<=5;i++)

   printf(“%d!

=%d\n”,i,fac(i));}

1!

=12!

=23!

=64!

=245!

=120

四、编写程序(20分)

   1. 编一个程序,输入X的值,按下列公式计算并输出Y的值。

  

 

#include

main()

{intx,y;

Printf(“Pleaseinputthevalueof‘x’:

\n”);

Scanf(“%f”,&x);

If(x<=1)y=x;

ElseIf(y>=10)y=3*x-11;

Elsey=2*x-1;

Printf(“x=%f,y=%f\n”,x,y);

Getch();

}

2.编写函数replace(char*s,charc1,charc2)实现将s所指向的字符串中所有字符c1用c2替换,字符串、字符c1和c2均在主函数中输入,将原始字符串和替换后的字符串显示在屏幕上。

 

#include

Main()

{

Charstr[100],c1,c2;

Printf(“Pleaseenterastring:

\n“);

Gets(str);

Printf(“Pleaseenterachar\n“);

Scanf(“%c”,c1);

Printf(“Pleaseenterachar\n“);

Scanf(“%c”,c2);

Printf(“%s\n”,str);

replace(str,charc1,charc2);

 

Voidreplace(char*s,charc1,charc2)

{charp;

P=s;

For(;*p!

=0;p++)

{if(*p==c1)*p=c2;}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1