單項(xiàng)選擇題
1.有char c=’1’,下面說(shuō)法中正確的是( )。
A. 語(yǔ)句putc+2);的輸出結(jié)果為51
B. 語(yǔ)句put“%d”,c+2);的輸出結(jié)果為3
C. 語(yǔ)句put“%c”,c+2);的輸出結(jié)果為51
D. 語(yǔ)句put“%c”,c+2);的輸出結(jié)果為3
2.設(shè)c1,c2均是char型變量,則下面不正確的函數(shù)調(diào)用為( )。
A. scanf(”c1=2=%c”,&c1,&c2);
B. get);
C. putc2);
D. putc1,c2);
3.為了表示關(guān)系x>=y>=z,下面C語(yǔ)言表達(dá)式中正確的是( )。
A. (x>=y)&&(y>=z)
B. (x>=y)and(y>=z)
C. (x>=y>=z)
D. (x>=y)&(y>=z)
4.設(shè)x,y,z,t為int型變量,則執(zhí)行以下語(yǔ)句后,t的值為( )。
x=y=z=1;
t=++x||++y&&++z;
A. 不定值
B. 2
C. 1
D. 0
5.對(duì)if語(yǔ)句中表達(dá)式的類(lèi)型,下面正確的說(shuō)法是( )。
A. 必須是關(guān)系表達(dá)式
B. 必須是關(guān)系表達(dá)式或邏輯表達(dá)式
C. 可以是任意表達(dá)式
D. 必須是關(guān)系表達(dá)式或算術(shù)表達(dá)式
6.對(duì)for(表達(dá)式1;;表達(dá)式3)可以理解為( )。
A. for(表達(dá)式1;0;表達(dá)式3)
B. for(表達(dá)式1;表達(dá)式1;表達(dá)式3)
C. for(表達(dá)式1;1;表達(dá)式3)
D. for(表達(dá)式1;表達(dá)式3;表達(dá)式3)
7.執(zhí)行語(yǔ)句for(i=1;i++<4;);之后,變量i的值為( )。
A. 3
B. 4
C. 5
D. 不確定
8.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為( )。
A. j*m+i
B. i*m+j
C. i*m+j-i
D. i*m+j+1
9.下面說(shuō)法中正確的是( )。
A. 在C語(yǔ)言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù),定義元素個(gè)數(shù)可變的數(shù)組
B. 在C語(yǔ)言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨即變動(dòng)
C. 在C語(yǔ)言中,數(shù)組元素的數(shù)據(jù)類(lèi)型可以不一致
D. 在C語(yǔ)言中,定義數(shù)組后,就確定了它能容納的相同數(shù)據(jù)類(lèi)型元素的個(gè)數(shù)
10.不能把字符串:“good!”賦給數(shù)組b的語(yǔ)句是( )。
A. char b[10]={’g’,’o’,’o’,’d’,’!’};
B. char b[10];b=“good!”;
C. char b[10];strcpy(b, “good!”) ;
D. char b[10]=“good!”;
11.執(zhí)行下面程序段,給x,y賦值時(shí),不能作為數(shù)據(jù)分隔符的是( )。
int x,y;
scanf(”%d%d”,&x&y);
A. 回車(chē)
B. Tab鍵
C. 回車(chē)
D. 逗號(hào)
12.已知ch是字符型變量,下面不正確的賦值語(yǔ)句為( )。
A. ch=’a+b’;
B. ch=’’;
C. ch=’7’+’9’;
D. ch=5+9;
13.下面程序段的輸出結(jié)果是( )。
char c1=’6’,c2=’0’;
printf(”%c,%c,%d,%d ”,c1,c2,c1-c2,c1+c2);
A. 因輸出格式不合法,輸出出錯(cuò)信息
B. 6,0,6,102
C. 6,0,7,6
D. 6,0,5,7
14.在C語(yǔ)言的循環(huán)語(yǔ)句for, while,do while中,用于直接中斷最內(nèi)層循環(huán)的語(yǔ)句是( )。
A. switch
B. continue
C. break
D. if
15.下面的循環(huán)結(jié)構(gòu)中,不是無(wú)限循環(huán)的是( )。
A. for( i=1;;i++) printf(“%d”,i--);
B. i=1;while(i--) {printf(”%d”,i++);}
C. i=1;do{printf(”%d”,i); i++;} while(--i);
D. for(i=0;i;i++) printf(”%d”,i);
16.下面程序段的運(yùn)行結(jié)果是( )。
char c[]=” will ”;
printf(“%d“,strlen(c));
A. 14
B. 3
C. 9
D. 字符串中有非法字符,輸出值不確定
17.下面說(shuō)法中正確的是:在C語(yǔ)言程序中( )。
A. 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
B. 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C. 函數(shù)的定義和調(diào)用均不可以嵌套
D. 函數(shù)的定義和 調(diào)用均可以嵌套
18.若用數(shù)據(jù)名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是( )。
A. 數(shù)據(jù)的首地址
B. 數(shù)組第一個(gè)元素的值
C. 數(shù)組中全部元素的值
D. 數(shù)組元素的個(gè)數(shù)
19.以下敘述中不正確的是( )。
A. 在不同的函數(shù)中可以使用相同名字的變量
B. 函數(shù)中的形式參數(shù)是局部變量
C. 在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D. 在一個(gè)結(jié)函數(shù)內(nèi)的符合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效
20.一個(gè)變量的指針是指( )。
A. 該變量的值
B. 該變量的地址
C. 該變量的變量名
D. 該變量的標(biāo)志
21.若有定義:int a[10],*p=a;,則p+5表示( )。
A. 元素a[5]的地址
B. 元素a[5]的值
C. 元素a[6]的地址
D. 元素a[6]的值
22. C語(yǔ)言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置( )。
A. 必須在最開(kāi)始
B. 必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面
C. 可以任意
D. 必須在最后
23. 一個(gè)C語(yǔ)言程序是由( )。
A. 一個(gè)主程序或若干個(gè)子程序組成
B. 函數(shù)組成
C. 若干過(guò)程組成
D. 若干個(gè)子程序組成
24. 下面哪項(xiàng)是構(gòu)成C語(yǔ)言的基本單位( )。
A. 函數(shù)
B. 過(guò)程
C. 子程序
D. 子例程
25. 以下正確的說(shuō)法是( )。
A. 定義函數(shù)時(shí),形參的類(lèi)型說(shuō)明可以放在函數(shù)體內(nèi)
B. return后邊的值不能為表達(dá)式
C. 如果函數(shù)值的類(lèi)型和返回值類(lèi)型不一致,以函數(shù)值類(lèi)型為準(zhǔn)
D. 如果形參與實(shí)參的類(lèi)型不一致,以函數(shù)值類(lèi)型為準(zhǔn)
26.對(duì)于基類(lèi)型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是( )。
A. <
B. =
C. +
D. –
27.變量的指針,其含義是指該變量的( )。
A. 值
B. 地址
C. 名
D. 一個(gè)標(biāo)志
28.下面程序運(yùn)行的結(jié)果是( )。
void ss(char *s,char t)
{ while(*s)
{ if(*s= =t) *s=t-‘a(chǎn)’+’A’;
s++;
}
}
void main()
{ char str1[100]=”abcddfefdbd”,c=’d’;
ss(str1,c);
printf(“%s ”,str1);
}
A. ABCDDFEFDBD
B. abcDDfefDbD
C. abcAAfefAbA
D. Abcddfefdbd
29.下列說(shuō)法中正確的是( )。
A. 結(jié)構(gòu)體變量可以作為一個(gè)整體進(jìn)行其值得輸入和輸出
B. 結(jié)構(gòu)體成員項(xiàng)不可以是結(jié)構(gòu)體
C. 結(jié)構(gòu)體成員項(xiàng)可以是結(jié)構(gòu)體或其他任何C語(yǔ)言的數(shù)據(jù)類(lèi)型
D. 結(jié)構(gòu)體變量和結(jié)構(gòu)體是相同的概念
30.下面說(shuō)法中不正確的是( )。
A. 一個(gè)C源程序可有一個(gè)或多個(gè)函數(shù)組成
B. 一個(gè)C源程序必須包含一個(gè)main函數(shù)
C. C程序的基本組成是函數(shù)
D. 在C程序中,注釋語(yǔ)句只能位于一條語(yǔ)句的后面
31.若執(zhí)行下面的程序段,則下面描述中正確的是( )。
int k=5;
while(k=1) k--;
A. while循環(huán)執(zhí)行四次
B. 循環(huán)體執(zhí)行一次
C. 循環(huán)體一次也不執(zhí)行
D. 死循環(huán)
32.下面關(guān)于for循環(huán)的正確描述是( )。
A. for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
B. for循環(huán)中是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式
C. 在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)
D. for循環(huán)的循環(huán)體可以包含多條語(yǔ)句,但必須用花括號(hào)括起來(lái)
33.不正確的定義語(yǔ)句是( )。
A. double x[5]={2.0,4.0,6.0,8.0,10.0};
B. int y[5]={0,1,3,5,7,9};
C. char c1[]={’1’,’2’,’3’,’4’,’5’};
D. char c2[]={’x10’,’x0a’,’x08’};
34.下面是對(duì)s的初始化,其中不正確的是( )。
A. char s[5]={“abc”};
B. char s[5]={‘a(chǎn)’,’b’,’c’};
C. char s[5]=””;
D. char s[5]=”abced”;
35.下面程序段的運(yùn)行結(jié)果是( )。
char c[5]={‘a(chǎn)’,’b’,’’,’c’,’’};
printf(“%s”,c);
A. ‘a(chǎn)’’b’
B. ab
C. ab c
D. abc
36.以下說(shuō)法中正確的是( )。
A. C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行
B. 在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義
C. C語(yǔ)言程序總是從main函數(shù)開(kāi)始執(zhí)行
D. C語(yǔ)言程序中的main函數(shù)必須放在程序的開(kāi)始部分
37.下列常量中,合法的C常量是( )。
A. “x-y”
B. ‘105’
C. ‘Be’
D. 07ff
38.下面程序的輸出結(jié)果是( )。
void main
{
int i=011,j=11;
printf(“%d,%d ”,++i,j--);
}
A. 10,11
B. 12,10
C. 11,11
D. 10,9
39.下面程序的執(zhí)行結(jié)果為( )。
void main()
{int x=20,y;
y=++x; y+=x;
printf(”%d,”y);
y=x--; y+=x;
printf(”%d,”y);
}
A. 42,41
B. 42,42
C. 40,41
D. 42,40
40.下面程序的輸出結(jié)果是( )。
void main()
{ int i=010,j=10;
printf(“%d,%d”,i++,++j);
}
A. 10,11
B. 11,11
C. 8,11
D. 8,10
41.能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的表達(dá)式是( )。
A. (a>=0||b>=0)&&(a<0||b<0)
B. (a>=0||b>=0)&&(a<0&&b<0)
C. (a+b>0)&& (a+|b<0)
D. a*b>0
42.以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是( )。
A. 關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符<邏輯運(yùn)算符
B. 邏輯運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符
C. 賦值運(yùn)算符<邏輯運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符
D. 算術(shù)運(yùn)算符<關(guān)系運(yùn)算符<賦值運(yùn)算符<邏輯運(yùn)算符
43.下面程序的運(yùn)行結(jié)果是( )。
void main()
{ int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
}
A. 6,1
B. 2,1
C. 6,0
D. 2,0
44.若有條件表達(dá)式(exp)?a++:b--,則以下表達(dá)式中完全等價(jià)于表達(dá)式(exp)的是( )。
A. (exp= =0)
B. (exp!=0)
C. (exp= =1)
D. (exp!=1)
45.程序段如下,則正確的執(zhí)行結(jié)果是( )。
int k=0;
while(k++<=2);
printf(“%d ”,k);
A. 2
B. 3
C. 4
D. 無(wú)結(jié)果
46.下面說(shuō)法中正確的是( )。
A. 在C語(yǔ)言函數(shù)中,必須有形參
B. 在C語(yǔ)言函數(shù)中,形參必須是變量名
C. 在C語(yǔ)言函數(shù)中,可以有也可以沒(méi)有形參
D. 在C語(yǔ)言函數(shù)中,數(shù)組名不能做形參
47.下面說(shuō)法正確的是,在C語(yǔ)言中( )。
A. 實(shí)參和與其對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元
B. 實(shí)參和與其對(duì)應(yīng)的形參共占用一個(gè)存儲(chǔ)單元
C. 只有當(dāng)實(shí)參和與其對(duì)應(yīng)的形參同名時(shí)才共占用存儲(chǔ)單元
D. 形參是虛擬的,不占用存儲(chǔ)單元
48.下面不正確的說(shuō)法是:C語(yǔ)言規(guī)定( )。
A. 實(shí)參可以是常量、變量或表達(dá)式
B. 形參可以是常量、變量或表達(dá)式
C. 實(shí)參傳遞給形參時(shí),要求實(shí)參必須有確定的值
D. 形參應(yīng)與其對(duì)應(yīng)的實(shí)參類(lèi)型可以不一致
49.C語(yǔ)言允許函數(shù)值類(lèi)型缺省定義,此時(shí)函數(shù)值隱含的類(lèi)型是( )。
A. float型
B. int型
C. long型
D. double型
50.若有以下定義:char s[10]=“include“,*p=s;,則不能代表字符‘u’的.表達(dá)式為( )。
A. s[4]
B. s+4
C. *(p+4)
D. p+=4,*p;
51. C語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是( )。
A. 地址傳遞
B. 單向值傳遞
C. 由實(shí)參傳給形參,再由形參傳給實(shí)參
D. 由用戶(hù)指定傳遞方式
52. C語(yǔ)言規(guī)定,函數(shù)返回值的類(lèi)型是由( )。
A. return語(yǔ)句中的表達(dá)式類(lèi)型所決定
B. 調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類(lèi)型所決定
C. 調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定
D. 在定義該函數(shù)時(shí)所指定的函數(shù)類(lèi)型所決定
53. 若有int *p,a[10];p=a; ,則下列寫(xiě)法不正確的是( )。
A. p=a+2
B. a++
C. *(a+1)
D. p++
54. 若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是( )。
A. 數(shù)組的首地址
B. 數(shù)組第一個(gè)元素的值
C. 數(shù)組中全部元素的值
D. 數(shù)組元素的個(gè)數(shù)
55. 若使用以為數(shù)組名作函數(shù)實(shí)參,則下面說(shuō)法中正確的是( )。
A. 在被調(diào)函數(shù)中,與該實(shí)參相對(duì)應(yīng)的形參必須是同類(lèi)型的數(shù)組名或指針變量
B. 實(shí)參數(shù)組類(lèi)型與形參數(shù)組類(lèi)型可以不匹配
C. 在被調(diào)函數(shù)中,不需要考慮形參數(shù)組的大小
D. 實(shí)參數(shù)組名與形參數(shù)組名必須一致
56. 設(shè)p1、p2是指向同一個(gè)字符串的指針變量,c為字符變量,則不能正確執(zhí)行的賦值語(yǔ)句為 ( )。
A. c=*p1+*p2;
B. p2=c;
C. p1=p2;
D. c=(*p1)*(*p2);
57. 若有一下結(jié)構(gòu)體定義,則正確的引用和定義是( )。
struct example { int x; int y;} v1;
A. example.x=10
B. example v2; v2.x=10;
C. struct v2; v2.x=10;
D. struct example v2={10,5};
58. 說(shuō)明一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)分配給它的內(nèi)存是( )。
A. 各成員所需內(nèi)存量的總和
B. 結(jié)構(gòu)體中第一個(gè)成員所需內(nèi)存量
C. 成員中占內(nèi)存量最大者所需的容量
D. 結(jié)構(gòu)體中最后一成員所需內(nèi)存量
59. 在C語(yǔ)言中,文件由下面拿個(gè)組成( )。
A. 記錄
B. 數(shù)據(jù)行
C. 數(shù)據(jù)塊
D. 字符(字節(jié))序列
60. 下面程序段的運(yùn)行結(jié)果是( )。
char c[]=” will ”;
printf(“%d“,strlen(c));
A. 14
B. 3
C. 9
D. 字符串中有非法字符,輸出值不確定
61.以下敘述中不正確的是( )。
A. 在不同的函數(shù)中可以使用相同名字的變量
B. 函數(shù)中的形式參數(shù)是局部變量
C. 在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D. 在一個(gè)結(jié)函數(shù)內(nèi)的符合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效
62.一個(gè)變量的指針是指( )。
A. 該變量的值
B. 該變量的地址
C. 該變量的變量名
D. 該變量的標(biāo)志
【c語(yǔ)言練習(xí)試題庫(kù)】相關(guān)文章:
c語(yǔ)言練習(xí)試題02-23
聲母c的發(fā)音練習(xí)04-03
c語(yǔ)言試題及答案03-17
C語(yǔ)言結(jié)構(gòu)體說(shuō)課稿12-01
c語(yǔ)言教學(xué)課件03-23
C語(yǔ)言應(yīng)聘簡(jiǎn)歷模板03-24