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