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語言考試里的程序填空和修改題都是題庫里的題嗎
每次考試都會有新題出現,看你運氣怎麼樣了,運氣好就會抽到題庫裡面的。
還有問題可以柏度《騰躍英語計算機學院》計算機二級老師在線解答問題,祝你早日通過考試。