C语言练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言练习题
一、选择题
1.以下选项中属于C语言的数据类型是()。
A)复数型B)双精度型C)逻辑型D)集合型
2.在C语言中,不正确的int类型的常数是()。
A)32768 B)0 C)037 D)0xAF
3.设有定义:int x=1,y=-1;则下面语句的输出结果是()。
A)1 B)0 C)-1 D)2
printf("%d\n",(x--&+ +y));
4.若有下面的说明和语句,则输出结果是()。
A)0377 B)040 C)32 D)以上答案均不正确
char a=9,b=020;
printf("%o\n",~a&b<<1);
5.当c的值不为0时,能正确将c的值赋给变量a、b的是()。
A)c=b=a; B)(a=c)||(b=c) C)(a=c)&&(b=c) D)a=c=b
6.请选出可用作C语言用户标识符的一组标识符是()。
A)void define WORD B)a3_b3 _789 IF
C)For –gif CASE D)3d UNDO sizeof
7.C语言程序的基本单位是()。
A)程序字段B)语句C)函数D)字符
8.下面程序段的输出结果是()。
A)11,10 B)11,11 C)10,10 D)10,11
int x=10;int y=x++;
printf("%d,%d",(x++,y),y++);
9.假设在程序中,x,y,z均被定义成整型,且已赋大于1的值,则下列能正确表示1/(xyz)的表达式是()。
A)1/x*y*z B)1/(x*y*z) C)1/x/y/(float)z D)1.0/(x*y*z)
10.为表示关系x>=y>=z,应使用C语言表达式为()。
A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z)
C)(x>=y>=z) D)(x>=y)&(y>=z)
11.在C语言中,if语句的一对圆括号中,用以决定分支的流程的表达式()。
A)只能用逻辑表达式B)只能用逻辑表达式关系表达式
C)只能用关系表达式D)可用任意表达式
12.在以下运算符中,优先级最高的运算符是()。
A)!B)= C)+ D)||
13.设有如下定义:int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y));的输出结果是()。
A)1 B)0 C)4 D)3
14.设有单精度变量f,其值为13.8,执行语句“n=(int)f%3;”后,整型变量的值是()。
A)1 B)4 C)4.333333 D)4.6
15.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是()。
A)0至255 B)0至65535 C)-256至255 D)-32768至32767
16.在C语言中,char型数据在内存中的存储形式是()。
A)补码B)反码C)原码D)ACSⅡ码
17.下面程序的输出结果是()。
A)a=0,b=0,c=0 B)a=1,b=1,c=1 C)a=1,b=0,c=1 D)a=0,b=1,c=1
#include
main( )
{ int a=0,b=0,c=0;
if(++a>0||++b>0) ++c;
printf("\na=%d,b=%d,c=%d",a,b,c);
}
18.下面程序段的输出结果是()。
A)0 B)1 C)2 D)5
int a=2,b=3,c=4,d=5; int m=2,n=2;
a=(m=a>b)&&(n=c>d)+5;
printf("%d",n);
19.以下程序的运行结果是()。
A)6 B)6789 C)'6' D)789
main( )
{ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int I;
i=8; p=a+i;
printf("%s\n",p-3);
}
20.以下说法正确的是()。
A)#define和printf都是C语句B)define是C语句,而printf不是
C)printf是C语句,但#define不是D)#define和printf都不是C语句
21.语句:printf("%d\n",12&012);的输出结果是()。
A)12 B)8 C)6 D)012
22.当执行下面的程序时,如果输入ABC,则输出结果是()。
A)ABC6789 B)ABC67 C)12345ABC6 D)ABC4567789
#include "stdio.h"
#include "string.h"
main( )
{ char ss[10]="12345"; gets(ss);
strcat(ss,"6789");
printf("%s\n",ss);
}
23.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是()。
A)p+1 B)a+1 C)a++ D)++p
24.下面对a的初始化,不正确的是()。
A)char a[5]={"ABC"}; B)char a[5]={'x','y','z'}; C)char a[5]=""; D)char a[5]= "abcdef";
25.有两个字符数组a,b,以下正确的输入语句是()。
A)gets(a,b) B)scanf("%s%s",a,b); C)scanf("%s%s",&a,&b); D)gets("a"),gets("b");
26.有字符数组x[8],y[4],正确的输出语句是()。