A. c语言题库,求发一份
单选题
1. 以下叙述中正确的是(1)。
A.若e1、e2为变量,e为表达式,则
e1=e2=e使得e1、e2都具有表达式e的值 。
B.程序中不能定义与库函数名同名的变量。
C.一个C源程序可放在多个文件中,但
一个函数不能跨放在两个不同的文件中。
D.C语言编译系统以函数为单位编译源程序。
2. 若a,b,c都是实型变量,则下列语句中除 (2) 之外,都可能得不到正确的计算结果。
A.if(b*b-4*a*c==0) x1=x2=-b/(2*a);
else x1=(-b+sqrt(b*b-4*a*c))/(2*a), x2=(-b-sqrt(b*b-4*a*c))/(2*a);
B.b=2.0e38+1.0-2.0e38;
C.a=456*768/2;
D.double define=1.0;
3. 以下正确的常量是(3 )。
A.‘077’ B.‘\0x89’ C.3.14u D.‘\012’
4. 若已有声明“float x= -1234.5678; int m,n=4;”则执行“m=printf(“\n%8.3f\n”,x)/n;”语句后,
变量m的值是 (4) 。
A. 2 B. 3 C. 4 D. 5
5. 若已有声明“int x1; float x2; long x3; char x4;”,且以下选项均出现在switch语句中,其中正确
的是 (5) 。
A. case 1.1: scanf("%d",&x1);break;
B. case 1+2: scanf("%f",&x2); break;
C. case 'x':
case 'y'-1: scanf("%ld",&x3); break;
D. case x4: scanf("%c",&x4); break;
6. 33.以下表达式中,能够作为“if(e) 语句”中判断条件表达式e 的是 (6) 。
A. x==++(x+1) B. x+=++x||x++ C. x+1=z D. x%2.0!=0
7. 以下局部变量声明中,正确的是 (7) 。
A.int x=0, void=1; B.int x=1,y=2x;
C.int x=2,y=sqrt(x); D.int x=sqrt(y),y=4;
8. 在以下语句中,正确的是 (8) 。
A.if(a>b)m=a;n=b;else m=b;n=a;
B.if(a>b){m=a;n=b;else m=b;n=a;}
C.if(a>b)m=a,n=b;else m=b,n=a;
D.if(a>b){m=a;n=b;}else(a<=b){m=b;n=a;}
9.24.已知有声明:“char c=‘1’ ; int x=300 ; float t=35000 ; double d=3.1234567e10 ;”,则以下表达式
求值时除 (9 ) 外,其结果都可能是不准确的。
A.x=t/c B.t=d/x C.t=d/1e5f D. t=x+c
10.若有声明“int i,k=1; unsigned j;”,则下列语句执行时会出现无限循环的语句
是 (10) 。
A.for(j=15;j>0;j-=2) k++;
B.for(j=0;j<15;j+=2) k++;
C.for(i=0;i<15;i+=2) k++;
D.for(i=15;i>0;i-=2) k++;
11.已有声明“int x=2,y=1,z=0;”,以下表达式的值不为0的是 (11) 。
A. x==(x=0,y=1,z=2)
B. z>y>x
C. x>y==1
D. x>(y=2)
12.若e1、e2和e3是表达式,以下选项中与语句while(e1){e2,e3;}功能等价的语句是 (12 ) 。
A. for( ;e1;e3)e2; B. for( ;e1;e2)e3; C. for(e1;e2;e3); D. for(e1; e2, e3; );
13.已有声明“int x=3;”,以下选项中与“x+=x =x+1”功能不等价的表达式是 (13 ) 。
A.x=x+(x=xx+1) B.x=x+(x=x(x+1)) C.x=x+(x=xx1) D.x=x(x+1), x=x+x
14.若已有声明“int a=2; ”,则执行语句“printf("%d", a, a+1 );”后的输出结果是 (14) 。
A.语法错 B. 2,3 C. 2 D. 3
15.语句“if (!n) n++;”中的“!n”等价于如下 (15) 条件的判定。
A.n==0 B.n!=0 C.n>0 D.n<0
16.若已有声明“int a=1; ”,则以下表达式中错误的是 (16 ) 。
A.-a++ B.+a-- C.--a D.++-a
17.下列 (17) C语言表达式能正确表达数学计算式1÷× 2xy。
A. 1/sqrt(2*3.14)*2*pow(x,y) B.1.0/sqrt(2)*2*x**y
C. 1.0/sqrt(6.28)*2x^y D.1/6.28^0.5*2*pow(x,y)
18. 已有声明“int a=3,b=3,c=2;”,以下表达式中值为0的是 (18) 。
A. !a&&!b&&c B. !a || !b || c C. a==b &&b>=c D. a>=b &&b>c
19.
36.若有: int w=1 , x=2 , y=3 , z=4; 则表达式 w>x?x--:y<z?y--:++z 的值为 (19 ) 。
A. 4 B. 3 C. 2 D. 1
20. 已知某程序中有以下片断:
#define p 2.5
main( )
{ float x=p;
}
则main函数中标识符p代表一个 (20) 。
A. float型变量 B. double 型变量 C. float型常量D.double 型常量
20.
填空题
1.21.设有如下程序段:
int a=2, b, c=5 ;
scanf( “%d” , &b) ;
b = c-- || scanf (“%d” , &c ) && a++;
执行该程序段时,若从键盘上输入的数据是 4ƀ3 (ƀ代表空格键) , 则变量c 的值为 (21) 。
2. signed和unsigned只能用于声明int型变量和 (22) 型变量。
3.代数式“||”的C语言表达式是 (23) 。
4.已有声明“int a=-13,n=7;”,表达式“a%=n%=4”求值后变量a的值为 (24) 。
5.已有声明“unsigned int a=30; ” ,那么 –a 的值为___(25)____。
6.
如下程序执行后的输出是____(26)____。
#include<stdio.h>
main ( )
{
int i=1,m=0;
switch ( i )
{
case 1 :
case 2 : m++;
case 3 : m++;
}
printf ( “%d” ,m);
}
7.C语言的三个逻辑运算符(!、&&、||)中,优先级高于算术运算符的是
(27) 。
8.已知sizeof(int)的值为2,执行如下程序后输出结果为 (28) 。
main()
{ int a,b;
a=65536;
b=32767+1;
printf("%d %d\n",a,b);
}
9.若有声明“int a=3,b=0,c=5;”, 则表达式 !a+b+c-1&&b+c/2 的值是 (29) 。
10.若有声明“int x=1,y=2;” ,则表达式 ++x, x+y++ 的值是 (30) 。
三、阅读程序题
1.在PC机的TC中执行以下程序后的输出是: (31) 。
main()
{
unsigned x=0x7f39;
int y;
char c;
c=x;
x+=0307;
y=x;
printf(“%d,%x,%c”,x,y,c);
}
2.以下程序运行后的输出结果是 (32) 。
#include<stdio.h>
main ( )
{ int x=30, y=45;
while(x!=y)
if(x>y)x-=y;
else y-=x;
printf("%d", x);
}
3.
以下程序运行后输出结果的第一行是 (33) ,第二行是 (34) 。
#include<stdio.h>
#include<math.h>
void main()
{ int a=0x65,b,c,count=0;
b=a;
while(b>0)
{ b=b/8;
count++;
}
printf("%d\n",count);
while(count>0)
{ c=pow(8,count-1);
printf("%d",a/c);
a=a%c;
count--;
}
}
4.以下程序运行时输出结果是 (35) 。
#include <stdio.h>
main()
{
int i,x=3,y=5;
for(i=0;i<3;i++)
switch(y%x)
{
case 0: printf("%d",y);
case 1: printf("%d",y--);break;
case 2: printf("%d",--y);break;
}
}
5.以下程序执行后,输出结果的第一行是 (36) ,第二行是 _(37)______。
#define N 100
main()
{ int i=0,sum=0;
do
{ if(i==(i/2)*2)
continue;
sum++;
if(sum>3)
break;
}while(++i<N);
printf("%d \n %d", sum,i);
}
四、完善程序题
1.下列程序的功能是按从键盘上输入的整数m,判断2m -1是否为素数,若为素数再求2m -1的反序数。例如:m为17,217 –1(131071)是素数,其反序数是170131。
#include <stdio.h>
(38)
main()
{
int m,j;
long q,k1,k2=0,k3;
scanf("%d",&m);
k3=k1=pow(2,m)-1;
q=sqrt(k1);
for(j=2;j<=q;j++)
if( (39) ) break;
if(j>q)
{ while(k3>0)
{ k2=k2*10+ (40) ;
k3/=10;
}
printf("m=%d\npow(2,m)-1=%ld is a prime.\nreverse order %ld\n",m,k1,k2);
}
else
printf("m=%d isn't a prime.\n",m);
}
2. 以下程序找到并输出所有满足给定条件的四位十进制表示的正整数:该数是某个数的平方、该数的后二位是25、组成该整数的各位数字中有两位是2。例如:1225是满足所给条件的四位正整数(352=1225)。
#include<stdio.h>
#include<math.h>
main()
{ long i,j,s,d=0;
for(i=1000;i<10000;i++)
{ (41) ;
j= (42) ;
if(i==j*j && i%100==25)
{ s=i;
while(s>0)
{ if( (43) )d++;
s=s/10;
}
if(d==2) printf("\n %d",i);
}
}
}
3..下列程序计算下列数学函数展开式的近似值,累加运算在最后一项的绝对值小于10-6时停止。
程序运行时从键盘上分别三个实数-1.0、0.5、1.0,作为x的值。
#include <stdio.h>
#include <math.h>
#define EPS 1.0e-6
main()
{ double x,n,tn,ft,sn,xn;
int i;
for(i=0;i<3;i++)
{ (44) ;
ft=1.0;
scanf("%lf",&x);
sn=xn=x;
do{
xn=xn*x*x;
ft=ft*(2*n-3)/(2*n-2);
tn=ft*xn/ (45) ;
sn=sn+tn;
n=n+1;
}while( (46) );
printf("f(%lf)=%0.6lf\n",x,sn);
}
}
《C语言程序设计》试卷答题纸
(本试卷满分100分)
系科_____________学号_____________姓名_____________成绩____________
单项选择题得分 填空题得分 阅读程序题得分 完善程序题得分 总分
一 、单项选择题
(1) (2) (3) (4) (5)
(6) (7) (8) (9) (10)
(11) (12) (13) (14) (15)
(16) (17) (18) (19) (20)
二、填空题
(21) (22)
(23) (24)
(25) (26)
(27) (28)
(29) (30)
三、阅读程序题
(31) (32)
(33) (34)
(35) (36)
(37
四、完善程序题
(38) (39)
(40) (41)
(42) (43)
(44) (45)
(46)
《C语言程序设计》试卷参考答案
(本试卷满分100分)
一 、单项选择题
(1)C (2)D (3)D (4)A (5) B
(6)B (7)C (8)C (9)D (10)A
(11)C (12)A (13)A (14)C (15)A
(16)D (17)A (18)A (19)B (20)D
二、填空题
(21) 4 (22) char
(23) fabs(exp(sqrt(1+sin(x)))) (24) -1
(25) 65506 (26) 2
(27) ! (28) 0 -32768
(29) 1 (30) 4
三、阅读程序题
(31) -32768, 8000, 9 (32) 15
(33) 3 (34) 145
(35) 4433 (36) 4
(37) 7
四、完善程序题
(38) #include <math.h> (39) k1%j==0
(40) k3%10 (41) d=0
(42) sqrt(i) (43) s%10==2
(44) n=2.0 (45) (2*n-1)
(46) fabs(tn)>EPS
B. 大一C语言期末考试求题库
一、单项选择题(共10题,每题2分,共20分。在备选答案中选择一个最佳答案。多选、错选、不选不得分)
1、不是C语言基本数据类型的是( )。
A、指针类型 B、整型
C、字符型 D、实型
2、设有:int a=3, b= 4, c= 5,x , y; 表达式0 && (x=a)&&(y=b)的值为( )。
A、1 B、0 C、3 D、4
3、设有语句 int a=3 ; 则执行了语句 a+=6;后,变量a 的值为( )。
A、18 B、-3 C、9 D、12
4、执行以下程序段后,输出的y值为( )
void main()
{ int a[]={2,4,6,8,10};
int y, *p;
p=&a[0];
y=*p; printf(“%d”,y);
}
A、2 B、4 C、6 D、8
5、有定义语句:float a[4];则分配给数组a的内存空间为( )字节。
A、 20 B、 12 C、 16 C、10
6、以下描述错误的是( )。
A、break语句可用于while语句。
B、break语句和continue语句的作用是一样的。
C、在循环语句中使用break语句是为了跳出循环,提前结束循环。
D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环。
7、C语言中规定,if语句的嵌套结构中,else总是( )。
A、与最近的if 配对 B、与第一个if 配对
C、按缩进位置相同的if配对 D、与最近的且尚未配对的if 配对
8、说明语句“int (*p)( ); ”的含义是( ) 。
A、p是一个指向一维数组的指针变量。
B、p是指针变量,指向一个整型数据。
C、p是一个指向函数的指针,该函数返回一个int型数据。
D、以上都不对。
9、以下对二维数组c的正确声明是 ( ) 。
A、int c[3][ ]; B、int c(3,4);
C、int c(2)(2); D、int c[3][2];
10、下述程序段执行后输出结果为( )。
int x=100, y=200;
printf ("% d", (x, y));
A、100 B、200 C、100,200 D、编译出错
二、填空题(共7题,共10空,每空1分,共10分。将答案填在题中横线上)
1、C语言提供的三种逻辑运算符是 && 、 || 和!;
2、函数的返回值是通过函数中的 return 语句获得的。
3、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"定义后,a[2][2]的值为_6__ _;
4、对于"int *pa[5];" pa是一个具有5个元素的_数组指针_,每个元素是一个指向int型变量的__指针__;
5、单向链表的尾节点next指针应赋值__ NULL___;
6、在语句for(x=1,y=3;x>y;y++)中循环体执行的次数为 0 。
7、int a[5];数组a的首地址为2000,则元素a[1]的地址为 2002 ,元素a[2]的地址为 2004 。
三、程序填空题(共2题,共5空,每空4分,共20分)
1、以下程序完成计算1-1/2+1/3-1/4+1/5+……前n 项和,请填空。
#include <stdio.h>
int main( )
{ int i, n, flag;
float sum;
scanf("%d", &n);
flag= 1 ;
sum=0;
for(i=1;i<=n; i++ )
{ sum+=(float)flag/i;
flag=-flag ;
}
printf("%.3f\n", sum);
}
2、以下程序的功能是从键盘输入n个整数,统计其中正数、0、负数的个数,请填空。
#include <stdio.h>
void main( )
{int a, i, count1,count2,count3;
count1=count2=count3=0 ;
for(i=1;i<=n;i++)
{ scanf(“%d”, &a);
if(a>0) count1++;
else if(a==0) count2++ ;
else count3++;
}
printf(“正数:&d个,零:%d个,负数:%d个\n”, count1,count2,count3 );
}
四、运行程序结果题(共4题,每题6分,共24分)
1、写出程序运行结果。
void main( )
{ int x=1,y=2,t;
int *p1,*p2;
p1=&x; p2=&y;
t=*p1;*p1=*p2;*p2=t;
printf("x=%d,y=%d\n",x,y);
}
运行结果为:
程序有错,不能运行!或写:
x=2,y=1
2、写出程序运行结果。
#include<stdio.h>
int max(int a,int b)
{ int c;
c=a>b?a:b;
return(c);
}
int min(int a,int b)
{int c;
c=a<b?a:b;
return(c);
}
void main()
{ int a=2,b=6;
printf("max=%d\n",max(a,b));
printf(“min=%d\n”,min(a,b));
}
运行结果为:
程序有错,不能运行!或写:
max=6
min=2
3、写出程序运行结果。
#include <stdio.h>
void main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int i,j,sum=0;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if(i==j) sum=sum+a[i][j];
printf(“sum=%d\n”,sum);
}
运行结果为:
程序有错,不能运行!或写:
sum=15
4、写出程序运行结果。
void main( )
{ int n,f;
n=1;
while(n<=10)
{ f=f*n;
n+=2;
}
printf(“f=%d\n”,&f);
}
运行结果为:
程序有错,不能运行!或写:
f=不确定
五、程序设计题(共2题,每题13分,共26分)
1、将一个数组按逆序存放,如元素1、2、3、4、5,按逆序存放后为5、4、3、2、1。
C. C语言程序设计考试题
main函数
scanf函数,printf函数
-60
6 ,4, 2
&&, || , !
B 66
2 1
6
main
5
D. c语言填空题
1.一个C源程序中至少应包括一个___主函数_____。
2. 若a是int型,且a的初值为6,则计算表达式a+=a-=a*a后,a的值为___-60_____。
3.若有定义:intb=7;float a=2.5,c=4.7;则表达a+(int)(b/3*(int)(a+c)/2)%4的值为__4.5______。
4.若a为整型变量,则表达式(a=4*5,a*2),a+6的值为___26______。
5.以下程序执行后,如果从键盘上输入1289,则输出结果为___9821________。
main()
{
int n1,n2;
scanf(“%d”,&n2);
while(n2!=0)
{
n1=n2%10;
n2=n2/10;
printf(“%d”,n1);
}
}
6.在调用C语言的库函数对字符串进行操作时,应包含的头文件是____string.h__________。
E. 求一个C语言的程序,从题库中随机抽取题目
给你个代码,你看看
int x,y,i,t;
int a[100];
for(i=0;i<100;i++)
a[i]=i+1;
for(i=0;i<100;i++) //这里交换的次所越多,a越乱
{
do{ //产生xy两个不相等的0~99的数值
x=rand()%100;
y=rand()%100;
}while(x!=y);
t=a[x]; //交换a下标xy对应的数据
a[x]=a[y];
a[y]=t;
}
最后去除a[0]~a[9]所对应的题目即可
其他的应该不难吧
F. 哪位前辈能否提供一个 C++程序填空题库(至少有答案有解析最好) 题越多越好 那样就比较全面和强化 谢谢
这是一部分,其他的去网络文库下载 我给你传到上面。
直接搜索《C语言程序设计_复习题含答案_》
C语言基础一:
1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) while
IF char scanf go
type printf case pow
2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a
-0xffff 01a 986,012 2e5
011 0xe 0668 0x
<<02>>B>>2
3.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc'
'\\' '\' '\f' '\101'
'xf' '\A' '\}' 'x1f'
4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "
5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT
6.C语言提供的合法关键字是( D )。
A) swith
B) cher
C) Case
). Default
7.下列标识符组中,合法的用户标识符为 A
A)_0123与ssiped
B)del-word与signed
C)list与*jer
D) keep%与wind
8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值 D) T
9若有以下定义
char s='\092';
则该语句( B )
A)使s的值包含一个字符 B)定义不合法,s的值不确定
C)使s的值包含4个字符 D)使s的值包含3个字符
10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。
A)1 B)2 C)8 D)4
11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。
A)D B)68 C)不确定的值 D)C
12逻辑运算符两侧运算对象的数据类型是 ( D )。
A) 只是0或1 B) 只能是0或非0正数
C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据
13TURBO C中int类型变量所占字节数是( B )。
A)1 B)2 C)3 D)4
14在C语言中,char型数据在内存中的存储形式是( D )。
A) 补码 B) 反码 C) 原码 D) ASCII码
15若有以下定义,则能使值为3的表达式是( D )。
int k=7, x=12;
A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
16判断char型变量c1是否为小写字母的正确表达式为 ( D )。
A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z')
C) ('a'>=c1)||('z'<=c1) D) (c1>='a')&&(c1<='z')
17 已知各变量的类型说明如下:
int k,a,b;
unsigned long w=5;
double x=1.42
则以下不符合C语言语法的表达式是( A )。
A)x%(-3)
B)w+=-2
C)k=(a=2,b=3,a+b)
D)a+=a-=(b=4)*(a=3)
若t为double类型,表达式t=1,t+5,t++的值是( D )。
A)1 B)6.0 C)2.0 D)1.0
设n=10,i=4,则赋值运算 n%=i+1执行后,n的值是( A ).
A) 0
B) 3
C) 2
D) 1
设Int n=3;则有表达式++n,n的结果是( C )。
A)2 B)3 C)4 D)5
用十进制形式输入有符号整数时,在scanf函数语句里格式字符为( AB )。
A)d B)i C)n D)u
在scanf函数语句中可用的修饰符有( ABCD )。
A)* B)h C)l D)宽度
1数据是操作的对象,操作的结果会改变数据的状况。 对
2字符型变量用来存放字符常量,注意只能放2个字符。 错
3C语言中可以把一个字符串赋给一个字符变量。 错
4在 C语言中的实型变量分为两种类型,它们是 float(实型)和double(双精度实型)。 错
5在C语言中,要求参加运算的数必须是整数的运算符是% . 对
6若有以下定义,则执行下面表达式y+=y-=m*=y后,y的值为-6。int m=5,y=2; 对
7输入语句的格式为: scanf("%d%d%d",&a,&b,&c);是正确的。 对
8在scanf("%d,%d",&a,&b)函数中,可以使用一个或多个空格作为两个输入数之间的间隔。 错
9getchar函数的功能是接收从键盘输入的一串字符。 错
10在变量说明中给变量赋初值的方法是:int a=b=c=10; 错
12printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中。 对
13printf函数称为格式输入函数,它的函数原型在头文件"stdio.h"中。 错
14在printf函数中,不同系统对输出表列的求值顺序不一定相同,TC是按从右到左进行的。 对
15若int x=3; printf("%d",&x);则系统会报错,没有任何结果。 错
16逻辑运算符的优先级别高于算术运算符 错
1在C语言中,表示逻辑"真"值用【 1 】.
2表达式pow(2.8,sqrt(double(x)))值的数据类型为( doubt )。
3假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是【 8 】。
4若x是int型变量,则执行下面表达式后,x的值为【 12 】。x=(a=4,6*2)
5若k为 int整型变量且赋值7,请写出赋值表达式 k *= k + 3的运算结果【70 】。
6scanf函数是一个标准库函数,它的函数原型在头文件【 stdio.h 】中。
7getchar函数可以接收【 单 】个字符,输入数字也按字符处理。
8在语句中,给变量赋值时,赋值语句必须以【 分号 】结尾。
9当a=3,b=2,c=1时,表达式f=a>b>c 的值是【 0 】
10设x,y,z均为int型变量,请写出描述"x,y中有一个为负数"的表达式【 x<0&&y>=0||y<0&&x>=0 】
11若a=6,b=4,c=3,则表达式 a&&b||b-c的值是【1 】
12设x=3,y=-4,z=5,则表达式!(x>y)+(y!=z)||(x+y)&&(y=z)的值是【 1 】
基础二
1下面四个选项中,均是非法常量的选项是( A )。
A)'as' B)'\\' C)-0x18 D)0xabc
-0fff '\01' 01177 '\0'
'\0a' 12,456 0xf "a"
2下面四个选项中,均是不合法整型常量的选项是( D )。
A)-0f1 B)-0xcdf C) -018 D)-0x48eg
-0xffff 017 999 -068
0011 12,456 5e2 03f
3下面正确的字符常量是( C )。
A) "c" B) '\\'' C) 'W' D) '
4以下每个选项都代表一个常量,其中正确的整型常量是( B )。
A)1.2 B)-20 C)1,000 D)4 5 6
5以下选项中不合法的用户标识符是( C )。
A)_123 B)Printf C)A$ D)Dim
6在下列C语言程序中,可以用做变量名的是( B )。
A) 1
B) a1
C) int
D) *p
7C语言提供的合法数据关键字是( A )。
A) float
B) Sagned
C) Integer
D) Char
8以下符号中不能用作用户标识符的符号是( B )。
A)_256 B)void
C)scanf D)Struct
9若k为int型变量,则以下语句( C )。
k=8567;
printf("|%-06d|\n",k);
A)输出格式描述不合法 B)输出为|008567|
C)输出为|8567| D)输出为|-08567|
10sizeof(float)是( B )。
A)一个双精度表达式 B)一个整型表达式
C)一种函数调用 D)一个不合法的表达式
11在C语言中, int、char和short三种类型数据在内存中所占用的字节数( D )。
A)由用户自己定义 B)均为2个字节
C)是任意的 D)由所用机器的机器字长决定
12判断char型变量c1是否为小写字母的正确表达式为 ( D )。
A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z')
C) ('a'>=c1)||('z'<=c1) D) (c1>='a')&&(c1<='z')
13以下叙述中正确的是( B )。
A.a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值
B.在赋值表达式中,赋值号右边即可以是变量也可以是任意表达式
C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0
D.已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3
14表达式18/4*sqrt (4.0)/8值的数据类型为( C )。
A)int B)float C)double D)不确定
15下列运算符中,不属于关系运算符的是( C )。
A) < B) > = C) ! D) ! =
16若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是 ( C )。
A) A%2= =1 B) !(A%2= =0) C) !(A%2) D) A%2
17已知各变量的类型说明如下:
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
则以下符合C语言语法的表达式是( A )。
A)a+=a-=(b=4)*(a=3)
B)a=a*3=2
C)x%(-3)
D)y=float(i)
18 若变量已正确定义并赋值,下面符合C语言语法的表达式是( B )。
A)a=a+7; B)a=7+b+c,a++ C)int 12.3%4 D)a=a+7=a+b
19逗号表达式(a=3*5,a*4),a+15的值为( C )。
A)15 B)60 C)30 D)不确定
20设Int n=3;则n++的结果是( B )。
A)2 B)3 C)4 D)5
1用小数或指数形式输入实数时,在scanf函数语句里格式字符为( BCD )。
A)i B)f C)e D)g
2可以使用( CD )输入字符型数据。
A)putchar(c); B)getchar(c); C)getchar(); D)scanf("%c",&c);
1C语言中数据有常量与变量之分。
2一般一个字符变量在内存中占一个字节。
3C语言规定,可以在定义变量时,同时使变量初始化。
4把k1、k2定义成基本整型变量,并赋初值0的定义语句是int k1=k2=0; 。错
5如果i的原值为3,则:j = ++ i,j的值为3。 错
6凡是表达式都有一个值。
7输入语句的格式为:scanf("%d,%d,%d",a,b,c);是正确的。 错
8在scanf("%d,%*d,%d",&a,&b)函数中,当输入为1,2,3时,将1赋给a,将2赋给b。 错
9getchar函数的功能是接收从键盘输入的一个整数。 错
10假定变量a,b,c在说明时已赋初值,则 if ((a=b;)>0) c=a;是正确的。 错
11
12printf函数是一个标准库函数,它的函数原型在头文件"string.h"中。 错
13在printf函数中,格式字符d的意义是:以十进制形式输出带符号整数。
14 在printf函数中,输出表列的各输出项之间可用冒号分隔。 错
15若int x=3; printf("%d",&x);则系统不会报错,会输出x的地址。
16int a=0,b=1,c=2;则表达式a||b+c&&b==c的值为0
1若有以下定义:char c='\010';则变量C中包含的字符个数为( 1 )。
2若有以下定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为【 1 】。(x+y)%2+(int)a/(int)b
3若a是int型变量、且a的初值为6,则执行下面表达式后,a的值为【 60 】。a+=a-=a*a
4若x是int型变量,则执行下面表达式后,x的值为【 4 】。x=a=4,6*2
5若a是int型变量,且a的初值为6,则计算表达式后a的值为【 60 】。a+=a-=a*a
6scanf函数的地址表列中给出各变量的地址,地址是由【 地址运算符"&" 】后跟变量名组成的。
7使用getchar函数接收字符,若输入多于一个字符时,只接收第【 一 】个字符。
8 C语言的格式输出函数是【 printf() 】。
9当a=5,b=4,c=2时,表达式a>b!=c 的值是【 1 】
10已知A=7.5,B=2,C=3.6,表达式A>B&&C>A || A<B&&!C>B的值是【 0 】
11若a=3,b=2,c=1,则表达式a-b<c||b==c的值是【0 】
12有int a=0,b=4,c=5;则表达式a||b+c&&b!=c的值为【 1 】
基础三
1下面四个选项中,均是不合法的用户标识符的选项是( C )。
A) A B) float C) b-a D) _123
p_0 lao goto temp
do _A int INT
2下面四个选项中,均是不合法浮点数的选项是( B )。
A) 160. B) 123 C) -018 D) -e3
0.12 2e4.2 123e4 .234
e3 .e5 0.0 1e3
3下面四个选项中,均是不正确的八进制或十六进制数的选项是( D )。
A)016 B)0abc C)010 D)0a12
0x8f 017 -0x11 7ff
018 0xa 0x16 -123
4以下每个选项都代表一个常量,其中不正确的实型常量是( B )。
A)2.607E-1 B)0.8103e 2 C)-77.77 D)45.6e-2
5可用作用户标识符的一组标识符是( B )。
A)void B)a3_b3 C)For D)2a
define _xyz -abc DO
WORD IF Case sigeof
6下列标识符组中,合法的用户标识符为( B )。
A) PAd与p#d
B) Scanf 与a10
C) void与max
D) A*与temp
7( B )是C语言提供的合法的数据类型关键字。
A)Float B)signed C)integer D)Char
8以下选项中正确的常量是( B )。
A) 012
B) -20
C) 1,000
D) 4 5 6
9现已定义整型变量int i=1;
执行循环语句while(i+ +<5);后,i的值为( B )。
A)1 B)5 C)6 D)以上三个答案均不正确
10设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( C )。
A)int B)float C)double D)不确定
11若有说明语句:char c='\72';则变量c ( C )。
A)包含1个字符 B)包含2个字符
C)包含3个字符 D)说明不合法,c的值不确定
12设X、Y、Z都是int整型变量,且x=2, y=3, z=4,则下面的表达式中,值为0的表
达式是( A )。
A) 'x'&&'z' B) (!y= =1)&&(!z= = 0)
C) (x<y)&&!z||1 D) x||y+y&&z-y
13以下叙述中正确的是( B )。
A) 在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示
B) 若在定义语句double a,b;之后,因为变量a,b已正确定义,因此立刻执行这样的表达式:a=b+9.381是正确的
C) 在C程序中,常量、变量、函数调用,都是表达式的一种
D) 在main函数中,变量一经定义,系统将自动赋予初始值
14设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为( C )。
A) float B) char C) int D) double
15设a=2,b=3,c=4,则表达式 a+b>c&&b= =c&&a||b+c&&b+c的值为( D )。
A) 5 B) 8 C) 0 D) 1
16在C语言中,逻辑值"真"的表示是用( D )。
A) true B) 整型值0 C) 非另整型值 D) T
17以下不正确的叙述是( C )。
A)在C程序中,逗号运算的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
18以下结果为整型的表达式(设有int i; char c; float f;)是( D )。
A)i+f B)i*c C)c+f D)i+c+f
19设有逗号表达式(a=3*5,a*4),a+15,a的值为( B )。
A)60 B)30 C)15 D)90
20设Int n=3;则有表达式n++,n的结果是( C )。
A)2 B)3 C)4 D)5
1若在scanf函数语句中没有非格式字符作输入数据的间隔,则可用( ACD )。
作为输入数据的间隔。
A)空格 B)逗号 C)TAB D)回车
2使用scanf函数时,在源程序开头( ABC )。
A)书写#include "stdio.h" B)书写#include <stdio.h>
C)不必写#include <stdio.h> D)书写#include "scanf.h"
1C语言规定标识符只能由字母、数字和小数点三种字符组成。
2 C语言使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。 对
3 C语言中定义了一个变量,代表内存中的一个地址。 对
4表达式3.5 + 1/2 + 56%10的计算结果是7.5 。
5 由赋值运算符将一个变量和一个表达式连接起来的式子称为"赋值表达式"。 对
6设C语言中,一个int型数据在内存中占2个字节,则int数据的取值范围为-32768-32769。
7在使用scanf函数之前应包含头文件"math.h"。
8在scanf("%c%c",&c1,&c2)函数中,当输入为字符a,b时,将a赋给c1,将b赋给c2。
9 scanf函数中,如果格式控制串中有普通字符则输入时也要输入该普通字符。
10 假定变量x,y,z在说明时已赋初值,则 if ((x=y+5)>0) z=x; 是正确的
11printf函数中的格式字符,既可以是大写形式,也可以是小写形式。
12在printf函数中,格式字符"%5c"可用来输出5个字符。
13在printf函数中,格式字符s的意义是:输出单个字符。
14 在printf函数中,输出项可以是任意合法的表达式。
15 算术运算符的优先级别高于关系运算符
16 int a=0,b=1,c=2,x,y;,则!(x=a)&&(y=b)&&c的值为1
G. 谁有大一C语言考试题快考试了,跪求题库··
单项选择题(每小题2分,共50分)
1、一个C程序的执行是从___A__。
A、本程序的main函数开始,到main函数结束
B、本程序的main函数开始,到本程序文件的最后一个函数结束
C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结束
2、C语言程序的基本单位是___C___。
A、程序行 B、语句
C、函数 D、字符
3、请选出可用作C语言用户标识符的一组标识符___B___。
A、void B、a3_b3 C、For D、2a
define _123 -abc DO
WORD IF ase sizeof
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
以上内容参考:网络-c语言
H. 计算机二级C语言考试里的程序填空和修改题都是题库里的题吗
每次考试都会有新题出现,看你运气怎么样了,运气好就会抽到题库里面的。
还有问题可以柏度《腾跃英语计算机学院》计算机二级老师在线解答问题,祝你早日通过考试。