C语言常见复习题(选择填空)及参考答案
C语言基础题及参考答案

第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是: A 。
A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。
A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以 D 。
A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是: C 。
A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是 D 。
A. ABCB. abcC. a_bcD. ab.c6.下列字符串是标识符的是:。
?A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是: C 。
A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是: B 。
A. ...\2‟ B. "" C. ...3‟ D. (483)9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。
int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3)B. W += -2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以 D 形式存放。
A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是: A 。
c语言程序基础考试题及答案

c语言程序基础考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义字符型变量的关键字是______。
A. intB. charC. floatD. double答案:B2. 下列关于C语言函数的描述,正确的是______。
A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是结构体D. 函数可以没有返回值答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. %B. +C. &&D. ==答案:B4. 以下哪个选项是C语言中的合法整型常量?A. 0x1AB. 0.1C. 1.2e3D. 0123答案:A5. C语言中,以下哪个关键字用于声明一个函数?A. structB. intC. voidD. return答案:C6. 在C语言中,以下哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "helloD. 'hello'答案:A7. C语言中,以下哪个选项是正确的注释?A. // this is a commentB. /* this is a comment */C. // this is a commentD. /* this is a comment */答案:A8. C语言中,以下哪个选项是正确的二进制常量表示?A. 0b1010B. 0x2AC. 0101D. 0x10答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[] = {1, 2};D. int arr[3] = {1};答案:A10. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。
c语言选择题及填空002

A) 12
B) 34
C) 1234
D) 提示出错、无结果
你所选择的答案是:*,正确答案是:C ×
3. 以下程序的输出结果是
main()
{
int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
fclose(fp);
}
执行后输出结果是( )。
A) 1 2 B) 123 0 C) 1 23 D) 0 0
你所选择的答案是:*,正确答案是:B ×
10. 37.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( )。
C) 13
D) 14
你所选择的答案是:*,正确答案是:A ×
6. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是
A) 字符A
B)字符a
C)字符e
D)非法的常量
你所选择的答案是:*,正确答案是:A ×
7. C语言中用于结构化程序设计的三种基本结构是( )。
D)1,7,3,5,6;2,1
你所选择的答案是:*,正确答案是:A ×
19. 若有以下语句
typedef struct S
{int g; char h;}T;
以下叙述中正确的是
A)可用S定义结构体变量
B)可用T定义结构体变量
C)S是struct类型的变量
D)T是struct S类型的变量
{ int a,b;}data[2]={10,100,20,200};
c语言选择题及填空007

C)do{*t++=*s++;}while(*s);
D)for(i=0,j=0;t[i++]=s[j++];);
你所选择的答案是:*,正确答案是:C ×
19. 若有以下语句
typedef struct S
{int g; char h;}T;
一、选择题答案
1. 以下程序的输出结果是
main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d,",x[i][2-i]);
}
A) 1,5,9
B) 1,4,7
C) 3,5,7
D)3,6,9
{ *x=*(x+i);}
main()
{ int a[N]={1,2,3,4,5,6,7,8},i;
fun(a,2);
for(i=0;i<N/2;i++)
{printf("%d",a[i]);}
{ while(*c)
{ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');
c++;
}
}
main()
{ char s[81];
gets(s); fun(s); puts(s);
}
当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是
C语言复习题及参考答案

C语言复习题及参考答案一、单项选择1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、以下4个用户定义标识符中,全部合法的一组是__A__。
A)_main enclude sin B)if –max turbo C)txt REAL 3COM D)int k_2 _001 3、以下不能定义为用户标识符的是_D__。
A)scanf B)Void C)_3com D)int4、C语言中用于结构化程序设计的3种基本结构是__A__。
A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue5、为解决某一特定问题而设计的指令序列称为__C__。
A)文档B)语言C)程序D)系统6、用高级程序设计语言编写的程序称为__C__。
A)目标程序B)可执行程序C)源程序D)伪代码7、能将高级语言编写的源程序转换成目标程序的是__B__。
A)编辑程序B)编译程序C)驱动程序D)链接程序8、下列叙述中,正确一条是__C__。
A)计算机语言中,只有机器语言属于低级语言。
B)高级语言源程序可以被计算机直接执行。
C)C语言属于高级语言。
D)机器语言是所用机器无关的。
9、以下符合C语言语法的实型常量是__C__。
A)1.2E0.5B)3.14159E C).5E-3D)E1510、下面叙述正确的是__A___。
A)C程序中注释部分可以出现在程序中任何合适的地方。
B)花括号“{”和“}”只能作为函数体的定界符。
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名。
D)分号是C语句之间的分隔符,不是语句的一部分。
11、设有以下定义:int a=0; double b=1.25; char c=’A’;#define d 2则下面语句中,错误是__D__。
c语言选择题及填空010

你所选择的答案是:,正确答案是:1 , ×
2. 若想通过以下输入语句使a中存放字符串1234,b中存放字符5,按照scanf语句的格式输入数据应该是(
scanf("a=%s,b=%c",a,&b);
……
你所选择的答案是:,正确答案是:a=1234,b=5 , ×
C)100l, ChangRong, 1098.0 D)1002, zhangDa, 1202.0
你所选择的答案是:*,正确答案是:A ×
24. 有以下程序
#include <stdio.h>
main()
{ int a=2,b=2,c=2;
你所选择的答案是:*,正确答案是:D ×
7. 以下程序的输出结果是
#define M(x,y,z) x*y+z
main()
{ int a=1,b=2, c=3;
printf("%d\n", M(a+b,b+c, c+a));
}
A) 19
B) 17
C) 15
D) 执行1次
你所选择的答案是:*,正确答案是:A ×
3. 以下合法的赋值语句是
A) x=y=100
B) d--;
C) x+y;
D) c=int(a+b);
你所选择的答案是:*,正确答案是:B ×
4. 设 a、b、C、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为
D) 12
C语言模拟复习题及答案

一、选择题1. 以下叙述错误的是 A 。
A.C程序在书写时,有严格的缩进要求,否则不能编译通过B.一个C程序只能有一个主函数C.一个C程序可以包含多个不同名的函数D.C程序的主函数必须用main作为函数名2. 下列程序段的输出结果是 4 3 2 1 。
void fun(int *x, int *y){ printf("%d %d ", *x, *y); *x=1; *y=2;}main(){ int x=3,y=4;fun(&y,&x);printf("%d %d",x, y); }3. 若有定义语句:int x=3,y=2,z;在其后执行语句z=0.9+x/y;则z 的值为 1 。
4. 有以下程序#include <stdio.h>main(){ int a;scanf("%d",&a);if(a++<8) printf("%d\n",a);else printf("%d\n",a--); }程序运行时键盘输入8<回车>,则输出的结果是9 。
5. 以下定义整型3行4列的二维数组a并初始化不正确的是C 。
A.int a[3][4]={0} B.int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12}C.int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12} D.int a[3][4]={{1,2},{1,2,3},{1,2,3,4}}6. 有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=k;case 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c); }程序运行后的输出结果是 3 。
C语言期末复习填空题部分(含答案)

期末复习填空题部分一、填空题1 设x为int型变量,写出描述“x是偶数与y是奇数”的表达式是x%2==0 && y%2==1 。
2 以下程序的输出结果是-27 。
#include<>void main(){ char c;c=0345;printf("%d\n",c);}3 设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是-12 。
4 若float x;以下程序段的输出结果是x=;printf("%f\n",(int)(x*1000+/(float)1000);5 下面的程序运行时从键盘上输入90<回车>,程序的输出结果是a=123,b=,c=789。
#include<>void main(){int a;float b,c;scanf("%3d%3f%3f",&a,&b,&c);printf("a=%d,b=%.1f,c=%.0f",a,b,c);}6 若输入字符串:abcdefg<回车>,则以下while循环体将执行0 次。
while((ch=getchar())=='g') printf("*");7 下面程序的输出结果是_67,D__。
main(){ char ch1,ch2;ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}8 执行下面的语句:printf("%d\n",(a=3*5,a*4,a+5));,输出是20 。
9 下列程序的输出结果是3,2 -1 。
C语言复习题及答案

C语言复习题及答案一.单项选择题1.下列选项中,不是转义字符集中的符号是( C )。
A \\B \’C 074D \02. 下列给出的符号串中,不属于C语言保留字的是( B )。
A switchB cherC caseD else3. 下列给出的符号串中,不能作为C语言标识符的是( C )。
A a_2B _2aC a.3D a_34. 下列属于C语言字符常量的是( C )。
A ‘abc’B “\n”C ‘a’D ‘a\0’5. 字符串”ABC”再内存占用的字节数为( B )。
A 3B 4C 6D 86. 设有宏定义“#define R 2+3”,则R*R的宏替换结果正确的是( B )。
A (2+3)*(2+3)B 2+3*2+3C 5*5D 5.0*5.07. 设整形变量I的值为3,则表达式i---i的值为( A )。
A 0B 1C 2D 38. 表达式“10!=9”的值为( D )。
A trueB 非零值C 0D 19. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值为( D )。
A 3B 0C 9D -1210. 下列选项中,正确的赋值表达式为( C )。
A a=7+b+c=a+7B a=7+b++=a+7C a=(7+b,b++,a+7)D a=7+b,c=a+711. 若有以下定义语句:char a;float c; double d; 则表达式a*b+d-c值的类型为( D )。
A floatB intC charD double12. 用十进制数表示表达式“12||012”的运算结果是( A )。
A 1B 0C 14D 1213. 下列一组运算符中,优先级别最高的运算符是( C )。
A <=B =C %D &&14. 设定“ char a=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是( D )。
A 00011100B 00000111C 00000001D 0001010015. 设x,y,z,t 均为int类型,则执行下列语句串后,变量t的值为(C )。
C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。
A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。
A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。
A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。
A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。
A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。
(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。
A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。
(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。
C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10;switch(i+1){ case 10: i++; break;case 11: ++i;case 12: ++i; break;default : i=i+1;}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e);中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0 D) 运行时出错(5) 用 int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和3. 以下定义语句中正确的是( C )A)char a='A'b='B'; float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);8.有以下程序(a)main(){ char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c9.有以下函数定义:(c)void fun(int n, double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A) fun(int y,double m); B)k=fun(10,12.5) C)fun(x,n); D)void fun(n,x)10.已定义c为字符型变量,则下列语句中正确的是(c)A)c='97'; B)c="97"; C)c=97; D)c="a";11.以下能正确定义一维数组的选项是(b)A)int num[]; B) #define N 100 C)int num[0..100]; D) int N=100;int num[N]; int num[N];12.以下能正确定义数组并正确赋初值的语句是(d)A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};13.有以下程序(a)main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default : printf("%d ", i); }}执行后输出结果是A)011122 B)012 C)012020 D)12014.有以下程序(d)main(){ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;while(i<7 && p[i]%2) { k =k+ p[i]; i++; }printf("%d\n", k);}执行后输出结果是A)58 B)56 C)45 D)2415.以下叙述中正确的是(c)A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点16.下列叙述中正确的是(d)A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型17.以下叙述中正确的是(a)A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分二)阅读程序,写出程序运行结果(1) #include<stdio.h>main(){ char ch=’A’;ch=(ch>=’A’&& ch<=’Z’)?(ch+32):ch;printf(“%c”,ch);}程序的运行结果是:(2) #include<stdio.h>main( ){ int sum=0,i=11;while (i<=10){sum=sum+i;i++;}printf(“%d”,sum);}程序的运行结果是:(3) #include<stdio.h>main(){ char str[ ]=”1a2b3c”;int i;for(i=0;str[i]!=’\0’;i++)if (str[i]>=’0’ && str[i]<=’9’) printf(“%c”,str[i]);}程序的运行结果是:(4) main(){ int a,b;a=5;b=8;p(a+b,a);}p(int x,int y){y=x+y;printf(“%d %d”,x,y);}程序的运行结果是:(5) #include<stdio.h>void main(){ int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};int j,s=1;for(j=0;j<=2;j++)s=s*a[j][j];printf("%d",s);}程序的运行结果是:Key: (1) a (2) 0 (3) 123 (4) 5 13 13 18 (5) 45 三)改错题(每个程序只有一个错误,填入错误语句所在的行号以及修改后的语句)(1)下段程序的功能是先输入一个整数,然后将输入的整数输出。
C语言基础知识习题答案——第一章

第一章C语言基础知识一,选择题1 答案是AA正确B {}可以作为复合语句的标志C main 函数不是用户命名的D 分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA 错误用户标识符:命名时,标识符的选择由用户自定,但是不能与关键字相同,所以A选项错误。
这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。
这个题目考察用户标识符的概念。
4 答案是Bdefine 是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if 是关键字,而关键字不能是用户标识符,所以if不可以是用户标识符5 答案是Dlong 是关键字,参照附录二注:6--13 考察用户标识符概念6 答案是DD答案以数字2开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Dint 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中float 是关键字,C答案中3c以数字3开头了,D答案中-5d 中- 不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3COM以字母3开头了,D答案中int 是关键字,不是用户标识符14 答案是BA答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有问题15 答案是DVisual C++6.0中int类型的变量占的字节数为4。
16 答案是BB中出现了8,而八进制只能有0到7组成17 答案是D答案D中开头是0不是o18 答案是C答案A中E后面是整数,0.5是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB中八进制中不能出现数字8,C中e后面不能是小数,D中e后面不能为空21 答案是BB中0.4是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变量,而这里是x+1, 同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f30 答案是D本题目类似与第七课时的例一,解题方法是要抓住++m,--n,--m,表达式的值是变量变化之后的值,而n--表达式的值是变量n变化之前的值31 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32 答案是CA答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33 答案是C本题目考察的是课本第15页的关于自加与自减运算符的第一点说明,即增量运算符的运算对象只能是变量,而在C答案中++(i+1)中,i+1是表达式34 答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的35 答案是D对于++、--单目运算符来说,其运算对象可以是char型、int型和float 型变量36 答案是A本题目主要考察n++表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因为c 是int 型的,所以c的值是1 ,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样a,b的类型是double型的39 答案是Dlong 和short不能相互修饰40 答案是C标识符中不能有$41答案是CA选项中,在变量赋值时不能赋给表达式,而y*5是表达式;选项B 中进行强制类型转换时,类型标识符要加上括号,所以错误;选项D 中,%(求余运算符)运算对象只能是整形数。
c语言期末考试填空题题库及详解答案

c语言期末考试填空题题库及详解答案1. C语言是一种______语言,它支持______和______两种编程范式。
答案:高级,过程式,面向对象2. 在C语言中,变量的声明必须在程序的______部分进行。
答案:开始3. C语言标准库中,用于输入输出的头文件分别是______和______。
答案:<stdio.h>,<stdlib.h>4. 一个C语言程序的执行从______函数开始,到______函数结束。
答案:main,main5. C语言中,字符常量可以用单引号括起来,例如'A'表示______。
答案:字符A6. 在C语言中,整数类型int的范围是______到______。
答案:-32767,32767(在16位系统中)7. 表达式 (a > b) ? (a) : (b) 是一个______表达式,用于返回a 和b中的______值。
答案:三元,较大8. C语言中,数组的索引从______开始。
答案:09. 函数声明必须在函数定义之前,或者在______中声明。
答案:头文件10. C语言中,指针是一种变量,它存储了另一个变量的______。
答案:内存地址11. 字符串在C语言中以______字符结尾。
答案:'\0'12. 在C语言中,使用______关键字可以定义一个函数。
答案:void 或其他数据类型13. C语言中,结构体是一种______数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。
答案:复合14. 动态内存分配使用的函数是______,______和______。
答案:malloc,calloc,realloc15. C语言中,______关键字用于定义一个全局变量。
答案:extern16. 在C语言中,______运算符用于计算两个数的乘积。
答案:*17. 函数的参数可以是______、______或______。
c语言考试题及答案以及解析

c语言考试题及答案以及解析一、选择题1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A解析:在C语言中,关键字是保留的词汇,用于表示特定的语法结构。
int是C语言中用于声明整型变量的关键字。
2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,乘法运算符是星号(*),用于计算两个数的乘积。
二、填空题1. 在C语言中,以下代码片段的输出结果是:```cint main() {int a = 5;printf("%d", a);return 0;}```输出结果为:_________答案:5解析:代码中的printf函数用于输出变量a的值,a被初始化为5,因此输出结果为5。
2. 下列代码段中,变量b的值是多少?```cint main() {int a = 10, b;b = a + 5;printf("%d", b);return 0;}```变量b的值为:_________答案:15解析:变量b被赋值为变量a加上5,由于a的值为10,所以b的值为15。
三、简答题1. 简述C语言中的数组是什么,并给出一个数组的声明和初始化的例子。
答案:C语言中的数组是一种数据结构,用于存储相同类型的多个元素。
数组的声明需要指定元素的类型和数组的长度。
数组的初始化可以在声明时完成。
解析:例如,声明一个整型数组并初始化:```cint numbers[5] = {1, 2, 3, 4, 5};```2. 解释C语言中的函数是什么,并给出一个简单函数的定义和调用的例子。
答案:C语言中的函数是一段具有特定功能的代码块,可以接收参数,并返回一个值。
函数的定义包括函数的返回类型、名称、参数列表和函数体。
函数的调用是使用函数名称和必要的参数来执行函数。
解析:例如,定义一个函数来计算两个数的和,并调用它:```cint add(int x, int y) {return x + y;}int main() {int result = add(5, 10);printf("%d", result);return 0;}```四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
c语言填空试题库及答案

c语言填空试题库及答案1. 在C语言中,用于定义变量的关键字是______。
答案:int2. 下列哪个选项是C语言中合法的字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"D. "Hello, World!"答案:A3. 在C语言中,用于定义一个函数的关键字是______。
答案:void4. 下列哪个选项是C语言中的逻辑运算符?A. %B. ||C. &&D. ==答案:C5. 在C语言中,用于声明一个指针变量的语法是______。
答案:int *p;6. 下列哪个选项是C语言中正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D7. 在C语言中,用于定义一个结构体的关键字是______。
答案:struct8. 下列哪个选项是C语言中用于文件操作的函数?A. printf()B. scanf()C. fopen()D. fclose()答案:C9. 在C语言中,用于定义一个枚举类型的关键字是______。
答案:enum10. 下列哪个选项是C语言中用于动态内存分配的函数?A. malloc()B. free()C. Both A and BD. None of the above答案:C11. 在C语言中,用于定义一个联合体的关键字是______。
答案:union12. 下列哪个选项是C语言中用于输入输出的库?A. math.hB. stdio.hC. string.hD. time.h答案:B13. 在C语言中,用于定义一个宏的预处理命令是______。
答案:#define14. 下列哪个选项是C语言中用于数组的声明?A. int arr[10];B. int *arr;C. int arr[];D. All of the above答案:D15. 在C语言中,用于定义一个二维数组的语法是______。
(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
c语言考试试题及答案

c语言考试试题及答案一、选择题1. 在C语言中,下列哪个关键字用于声明一个变量的名称?A. defineB. intC. printfD. scanf答案:B2. 函数的返回类型可以是下列哪种类型?A. intB. floatC. charD. all of the above答案:D3. 下列哪个运算符用于访问结构体变量的成员?A. .B. ->C. :D. ,答案:A4. 文件指针是下列哪种类型?A. FILEB. pointerC. file*D. fp答案:A5. 下面哪个循环结构在执行前先判断条件,再决定是否执行循环体?A. forB. whileC. do-whileD. switch答案:B二、填空题1. C语言中,用于定义常量的关键字是____。
答案:const2. 在C语言中,用于输出结果到控制台的函数是____。
答案:printf3. C语言中,用于读取用户输入的函数是____。
答案:scanf4. 下面是一个二维数组的声明方式:int arr[3][4];那么该数组的元素个数是____。
答案:125. C语言中,用于在循环执行过程中跳过当前迭代的关键字是____。
答案:continue三、编程题请编写一个程序,实现从键盘输入两个整数,然后输出它们的和。
```c#include <stdio.h>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```以上是一道简单的示例题目,通过该题目可以熟悉C语言的基本输入输出、变量声明和运算符等基础知识。
c语言考试试题基础版及答案

c语言考试试题基础版及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. int_答案:A2. C语言中,用于定义一个字符型变量的关键字是?A. charB. characterC. stringD. var答案:A3. 在C语言中,下列哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. =答案:A4. 下列哪个选项不是C语言中的控制结构?A. ifB. forC. whileD. switch答案:D5. 在C语言中,下列哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B6. C语言中,用于定义一个整型数组的语法是?A. int array[10];B. int [10] array;C. int array[];D. int array=10;答案:A7. 下列哪个选项是C语言中的正确注释?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /* 这是一个注释答案:A8. 在C语言中,用于定义一个函数的关键字是?A. functionB. defC. defineD. void答案:D9. 下列哪个选项是C语言中的正确字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, WorldD. Hello, World!答案:A10. 在C语言中,用于声明一个无返回值的函数的关键字是?A. intB. voidC. charD. float答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:int ____________; 答案:变量名2. 用于计算两个整数之和的C语言运算符是:__________;答案:+3. 如果要在C语言中声明一个名为“result”的浮点型变量,应使用:float ____________;答案:result4. 在C语言中,用于定义一个二维数组的语法是:int____________[3];答案:数组名5. C语言中,用于声明一个指向整型变量的指针的语法是:int*____________答案:指针名6. 使用C语言中的printf函数输出字符串时,需要在字符串前加上的字符是:__________;答案:"7. 在C语言中,用于从键盘读取一个字符的函数是:__________;答案:getchar()8. 如果要声明一个名为“total”的整型变量并初始化为0,应使用:int total = __________;答案:09. 在C语言中,用于定义一个静态局部变量的关键字是:__________; 答案:static10. C语言中,用于计算两个浮点数之差的运算符是:__________;答案:-三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
c语言复习试题及答案

c语言复习试题及答案C语言复习试题及答案一、选择题1. C语言中,一个整型变量的取值范围是:A. -128 到 127B. -32768 到 32767C. -2147483648 到 2147483647D. 取决于编译器答案:D2. 下列哪个关键字用于定义C语言的结构体?A. structB. defineC. unionD. enum答案:A3. C语言中,字符串在内存中是以什么方式存储的?A. 字符串名B. 字符串长度C. 字符串本身D. 字符串结束标志 '\0'答案:D4. 在C语言中,函数返回值的类型由什么决定?A. return 语句B. 函数名C. 函数定义时指定的类型D. 函数参数的类型答案:C5. 下列哪个操作符不能用于位操作?A. &B. |C. ^D. ++答案:D二、填空题6. C语言中,预处理器指令 `#include` 的作用是_______。
答案:引入其他文件7. `int main()` 函数中的 `void` 表示该函数_______。
答案:不返回任何值8. 在C语言中,数组的索引是从_______开始的。
答案:09. `printf` 函数的返回类型是_______。
答案:int10. 表达式 `3.0 / 0` 在C语言中会导致_______。
答案:运行时错误三、简答题11. 请简述C语言中指针的概念及其用途。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
指针在C语言中用于直接访问内存、动态内存分配、数组操作、函数参数传递等。
12. 解释C语言中数组和指针之间的关系。
答案:在C语言中,数组名可以作为指针使用,它指向数组的第一个元素的地址。
通过指针可以遍历数组,也可以通过指针修改数组元素的值。
四、编程题13. 编写一个C语言程序,实现对整数数组的排序。
```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}if (min_idx != i) {temp = arr[i];arr[i] = arr[min_idx];arr[min_idx] = temp;}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("Sorted array: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```14. 编写一个C语言程序,实现字符串的反转。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。
A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。
A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。
A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。
A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。
A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。
(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。
A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。
(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。
A.&&B.&C.|=D.||E.?:F.!=12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为A.*= << > % sizeofB.<< *= > % sizeofC.*= > << sizeof %D.*= > << % sizeof13.若有以下类型说明语句char w; int x; float y; double z;则表达式w*x+z-y 的结果是()类型。
A.floatB.charC.intD.double14.若w,x,y,z 均为int 型变量,则执行下面的语句后,w=(1), x=(2), y=(3), z=(4)。
w=5; x=4;y=w++*w++*w++;z=--x*=--x*--x;(1)A.8 B.7 C.6 D.24A.4B.3C.2D.1A.150B.125C.210D.336A.64B.1C.6D.2415.C语言的程序一行写不下时,可以A.用逗号换行B.用分号换行C.在任意一空格处换行D.用回车符换行16.下述标识符中,()是合法的用户标识符。
A.A#CB.getchC.voidD.ab*17.在C语言中,字符型数据在内存中是以()形式存放。
A.原码B.BCDC.反码D.AS18.()是非法的C语言转义字符。
A.'\b'B.'\0xf'C.'\037'D.'\''19.语句char s='\092';的作用是A.s包含1个字符B.说明不合法, s的值不定。
C.使s包含4个字符D.使s包含3个字符20.在C语言中,int,char,和short三种类型数据所占用的内存A.均为2个字节B.由用户自己定义C.由所用机器的机器字长决定D.是任意的21.高性能int类型的数据长度为2个字节,则unsigned int 类型数据的取值范围是A.0~255B.0~65535C.-32768~32767D.-256~25522.以下()是不正确的转义字符。
A.'\\'B.'\'C.'081'D.'\0'23.一个C语言的程序是由()组成A.主程序B.子程序C.函数D.过程24.一个C语言的程序总是从()开始的。
A.主过程B.主函数C.子程序D.主程序25.一个C语言的程序是由A.一个主程序和若干个子程序组成B.函数组成C.若干过程组成D.若干子程序组成26.以下述叙不正确的是A.一个C源程序可以由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中注释说明只能位于一条语句的后面27.C语言中规定:在一个源程序中main函数的位置A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后28.一个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序的最后一个函数结束C.本程序的main函数开始,到本程序的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束29.以下述叙正确的是A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误二、填空题1.将下列给出的常量分别归类到:整型常量、浮点常量和字符型常量(1)0x7a (2)078 (3)6a (4)57L(5)'m' (6)"ab6" (7)-32 (8)3.4,256(9)0e0 (10).e0 (11)-3.1e-5 (12)2e0(13)0.012e003 (14)'\"' (15)'xy' (16)" "(17)"\nab\t" (18)'\"' (19)'\07'2.指出下列标识符中哪些是非法的(1)a_Char (2)b22c (3)286pc (4)-am(5)_7b (6)ab# (7)Max_1 (8)__Star(9)*itm (10)To-2 (11)for (12)"tt"3.C源程序的基本单位是____。
4.一个C源程序中至少应包含一个_____。
5.在一个C源程序中,注释部分二侧的分界符分别为___和___。
6.在C语言中,输入操作是由库函数____完成的,输出操作是由库函数____完成的。
反馈测试题参考答案:一、选择题1、 B 2.D 3.A 4.C 5.A6. (1)A,(2)C (3)D7. C8. (10C (2)D (3)A9. B 10.C 11.C, F 12. D13. D 14. (1)A,(2)D, (3)B,(4) B15. C 16. B 17.D 18. B19. B 20. C 21. B 22.C23. C 24. B 25.B 26. D27. C 28. A 29. C二、填空题1、整型常量有(1) (4)浮点型常量有:(9) (12) (13) (14)字符型常量有:(5) (6) (16) (17) (18) (19) (20)2、非法标识符有:3) (4) (6) (9) (10) (12)3、函数4、主函数5、(1)/* (2)*/6、(1)scanf (2)printf第二部分C语言基本语法知识一、选择题(1)以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(2)以下叙述中错误的是A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(3)以下不能正确计算代数式值的C语言表达式是A)1/3*sin(1/2)*sin(1/2)B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3D)1/3.0*pow(sin(1.0/2),2)(4)以下能正确定义且赋初值的语句是A)int n1=n2=10;B)char c=32;C)float f=f+1.1;D)double x=12.3E2.5;(5)设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m(6)有以下程序段int k=0,a=1,b=2,c=3;k=ac ? c:k;执行该程序段后,k的值是A)3 B)2 C)1 D)0(7)以下选项中可作为C语言合法常量的是A)-80.B)-080C)-8e1.0D)-80.0e(8).以下不能定义为用户标识符的是A)MainB)_0C)_intD)sizeof(9)以下选项中,不能作为合法常量的是A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0(10)有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是A)12353514B)12353513C)12343514D)12343513(11)若整型变量a、b、c、d中的值依次为:1、4、3、2。
则条件表达式a A)1B)2 C)3 D)4(12)下列选项中,不能用作标识符的是A) _1234_B) _1_2C) int_2_D) 2_int_(13)有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -2(14)以下符合C语言语法的实型常量是A) 1.2E0.5B) 3.14.159EC) .5E-3D) E15(15) 以下4组用户定义标识符中,全部合法的一组是A) _main B) If C) txt D) intenclude -max REAL k_2sin turbo 3COM _001(16) 若以下选项中的变量已正确定义,则正确的赋值语句是A) x1=26.8%3B) 1+2=x2C) x3=0x12D) x4=1+2=3;(17) 设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是A) a++; B) b++ C) c++; D) d++;(18)设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是A) (a+B) *h/2B) (1/2)*(a+B) *hC) (a+B) *h*1/2D) h/2*(a+B)(19) 以下叙述中正确的是A) C程序中注释部分可以出现在程序中任意合适的地方B) 花括号“{”和“}”只能作为函数体的定界符C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是C语句之间的分隔符,不是语句的一部分(20) 以下选项中可作为C语言合法整数的是A) 10110B B) 0386 C) 0Xffa D) x2a2(21) 以下不能定义为用户标识符的是A) scanf B) V oid C) _3com_ D) int(22) 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是A) x=x*100+0.5/100.0;B) x=(x*100+0.5)/100.0;C) x=(int)(x*100+0.5)/100.0;D) x=(x/100+0.5)*100.0;(23)下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现在下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头(24)下列关于单目运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量(25) 以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E(26) 以下选项中合法的用户标识符是A) long B) _2Test C) 3Dmax D) A.dat(27) 以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;(28) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A)6.500000B)6C) 5.500000D) 6.000000(29) 与数学式子对应的C语言表达式是A) 3*x^n(2*x-1)B) 3*x**n(2*x-1)C) 3*pow(x,n)*(1/(2*x-1))D) 3*pow(n,x)/(2*x-1)(30) 若有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d\n”,m,i);}执行后的输出结果是A) 8,6B) 8,3C) 6,4D) 7,4(31) 以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1B) n=n+1,k=nC) k=++nD) k+=n+1(32) 若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为A) 1.4 B) 1 C) 2.0 D) 2(33) 以下选项中不属于C语言的类型的是A) signed short imtB) unsigned long intC) unsigned intD) long short(34) 以下叙述正确的是A) 可以把define和if定义为用户标识符B) 可以把define定义为用户标识符,但不能把if定义为用户标识符C) 可以把if定义为用户标识符,但不能把define定义为用户标识符D) define和if都不能定义为用户标识符(35) 在C语言中,合法的长整型常数是A) OLB) 4962710C) 324562&D) 216D(36) 以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define(37) 假定x和y为double型,则表达式x=2,y=x+3/2的值是A) 3.500000B) 3C) 2.000000D) 3.000000(38) 以下合法的赋值语句是A) x=y=100B) d--;C) x+y;D) c=int(a+b);(39) 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是pprintf(”%d,%d\n”,x--,--y);A) 10,3B) 9.3C) 9.2D)10.2(40) 以下程序的输出结果是main(){ int a=3;printf(“%d\n”,(a+a-=a*a) );}A) –6B)12C) 0D) -12(41) 以下所列的C语言常量中,错误的是A) 0xFFB) 1.2e0.5C) 2LD) ‘\72’(42) 下列选项中,合法的C语言关键字是A) V ARB) cherC) integerD) default(43) 以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是A) x/y*zB) x*(1/(y*z))C) x/y*1/zD) x/y/z(44) 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是A) -3B) 9C) -12D) 6(45) 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1B) a=b=c+2C) int 18.5%3D) a=a+7=c+b(46) C语言中运算对象必须是整型的运算符是A) %=B) /C) =D) 〈=(47) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1 B) 2 C) 2.0 D) 2.5(48) 若变量a、iI已正确定义,且i已正确赋值,合法的语句是A) a==1 B) ++i; C) a=a++=5; D) a=int(i);(49) 若有以下程序段,int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是A) 0 B) 0.5 C) 1 D) 2(50) 设有int x=11; 则表达式(x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 12(51) 下列程序的输出结果是A) 3 B) 3.2 C) 0 D) 3.07main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}(52) 下列变量定义中合法的是A) short _a=1-.le-1;B) double b=1+5e2.5;C) long do=0xfdaL;D) float 2_and=1-e-3;(53) 以下选项中属于C语言的数据类型是A) 复数型B) 逻辑型C) 双精度型D) 集合型(54) 在C语言中,不正确的int类型的常数是A) 32768B) 0C) 037D) 0xAF(55) 设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为A) 4 B) 16 C) 32 D) 52(56) 设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1, 42, y=5.2;则以下符合C语言语法的表达式是A) a+=a-=(b=4)*(a=3)B) x%(-3);C) a=a*3=2D) y=float(i)(57) 假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是A) x%=(k%=5) B) x%=(k-k%5) C) x%=k-k%5 D) (x%=k)-(k%=5)(58) 设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是A) 把x和y按从大到小排列B) 把x和y按从小到大排列C) 无确定结果D) 交换x和y中的值(59) 以下程序的输出结果是A) 10 10 B) 12 12 C) 11 10 D) 1113main(){ int a=12,b=12;printf("%d,%d\n",- -a,+ +b);}(60) 在C语言提供的合法的关键字是A) swicth B) cher C) Case D) default(61) 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是A)1 B)2 C)2.0 D)2.5(62) C语言提供的合法的数据类型关键字是A) Double B) short C) integer D) Char(63) 在C语言中,合法的长整型常数是A) 0LB) 4962710C) 0.054838743D) 2.1869e10(64) 若有说明和语句:int a=5;a++;此处表达式a++的值是A) 7 B) 6 C) 5 D) 4(65) C语言中最简单的数据类型包括A) 整型、实型、逻辑型B) 整型、实型、字符型C) 整型、字符型、逻辑型D) 整型、实型、逻辑型、字符型(66) C语言中,运乍对象必须是整型数的运算符是A) % B) \ C) %和\ D) * *(67) 设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是A) 1 B) 0 C) 4 D) 3(68) 以下程序的输出结果是main(){ int x=10,y=10;printf("%d %d\n",x--,--y); }A) 10 10B) 9 9C) 9 10D) 10 9(69) 下列语句中符合C语言语法的赋值语句是A) a=7+b+c=a+7;B) a=7+b++=a+7;C) a=7+b,b++,a+7D) a=7+b,c=a+7;(70) 在C语言中,要求运算数必须是整型的运算符是A) % B) / C) < D) !(71) 请选出可用作C语言用户标识符的一组标识符A) void B) a3_b3 C) For D) 2adefine _123 -abc DOWORD IF Case sizeof(72) 设int a=12,则执行完语句a+=a-=a*a后,a的值是A) 552 B) 264 C) 144 D) -264(73) C语言程序的基本单位是A) 程序行B) 语句C) 函数D) 字符(74) 请选出合法的C语言赋值语句A) a=b=58B) i++;C) a=58,b=58D) k=int(a+b);(75)在C语言中,如果下面的变量都是int类型,则输出的结果是。