c语言e怎么表示_如何一个月学完c语言
大一的時候,一點都不自律,什么科目都是去那點名后,然后坐在最角落初自個玩手機,特別是程序課,我一個都不懂,有聽一兩節課還是聽不懂,反正就是不懂就對了。課后也沒復習。到了期中考,考了才知道我確實廢了。不如意以為認真就行,離期末考還有1個月,我當時心態炸了,天啊!期末考咋整,學分怎么辦。
我調整了心態好好學,在b站看看關于c語言入門教學視頻,其中有個感覺還不錯的up主:小甲魚,內容不全面,只能大概了解下內容。然后針對性的復習,整理筆記。我覺得最重要的是循環程序,過程基礎重要,還有那個標識符。編程題真的不能自學出來的,特別復雜,在此建議你們有機會好好學吧,或者多參考些參考書說不定就歐克了。
給你們整理了一些較為重要的知識點:
1.標識符:只能以字母、下劃線開頭。
2.循環:看if if.......else while do.........while for 等循環語句,注意看他們循環的圖形原理。
3.位運算:<< >> ^ ~這些符號的意思
4.指針:說白了就是取地址,就是要你找到地址的。
5.數組:就是讓你知道第一維表示行,第二維表示豎。他特喜歡和指針和循環體結合在一起。
6.共同體:具體看書吧,我到現在也不了解。
7.文件:就是了解foropen forclose 等等的結構運行原理。
我其他的也忘了差不多,我在期末考時為了能過,硬是寫了37頁的選擇題,其中也有這個作用吧。這個文件我可以分享給你們,你們也可以去試著做,每個選擇題的答案在每個題目前面
C 0101、C語言源程序中,以下敘述正確的是()
A.main函數必須位于文件的開頭
B.每行只能寫一條語句
C.程序中的一個語句可以寫成多行
D.每個語句的最后必須有點號
C 0102、關于C語言的源程序的敘述中,錯誤的是( )。
A.C語言的源程序由函數構成
B.main函數可以書寫在自定義函數之后
C.必須包含有輸入語句
D.一行可以書寫多個語句
C 0103、關于C語言數據類型的敘述,正確的是()
A.枚舉類型不是基本類型
B.數組不是構造類型
C.變量必須先定義后使用
D.不允許使用空類型
C 0104、C程序中main函數的位置( )
A.必須在最開始
B.必須在系統庫函數后面
C.可以在自定義函數后面
D.必須在最后
B 0105、C語言的函數體由( )括起來
A.( ) B. { } C. [ ] D)/* */
D 0106、關于C語言的敘述中,不正確的是( )。
A.C程序可由一個或多個函數組成
B.C程序必須包含一個main()函數
C.C程序的基本組成單位是函數
D.注釋說明只能位于一條語句的后面
D 0107、以下敘述不正確的是()。
A.C程序的執行總是從main函數開始
B.一個C源程序必須包含一個main函數
C.C語言程序的基本組成單位是函數
D.在編譯C程序源程序時,可發現注釋中的拼寫錯誤
C 0108、結構化程序設計的三種基本結構是()。
A.函數結構、分支結構、判斷結構
B.函數結構、嵌套結構、平行結構
C.順序結構、分支結構、循環結構
D.分支結構、循環結構、嵌套結構
C 0109、對于C語言源程序,以下敘述錯誤的是( )。
A.可以有空語句
B.函數之間是平等的,在一個函數內部不能定義其它函數
C.程序調試時如果沒有提示錯誤,就能得到正確結果
D.注釋可以出現在語句的前面
C 0110、C語言中,復合語句的構成是將一系列語句置于()。
A.begin與end之間
B.一對圓括號 “( )”之間
C.一對圓括號 “{ }”之間
D.一對圓括號 “[ ]”之間
D 0201、下面關于C語言用戶標識符的描述,正確的是()
A.不區分大小寫
B.用戶標識符不能描述常量
C.類型名也是用戶標識符
D.用戶標識符可以作為變量名
D 0202、以下( )是正確的變量名。
A.5f
B.if
C.f.5
D._f5
D 0203、以下( )是正確的常量。
A.E–5
B.1E5.1
C.'a12'
D.32766L
D 0204、以下( )是正確的變量名。
A.a.bee
B.–p11
http://C.int
D.p_11
C 0205、以下( )是正確的字符常量。
A."c"
B.'''
C.'W'
D."32a"
A 0206、以下( )是不正確的字符串常量。
A.'abc'
B."12'12"
C."0"
D." "
B 0207、下列錯誤的整型常量是()。
A.–0xcdf
B.018
C.0xe
D.011
B 0208、以下是正確的浮點數是()。
A.e3
B..62
C.2e4.5
D.123
A 0209、若有說明語句:char c=’95’;則變量c包含()個字符。
A.1
B.2
C.3
D.語法錯誤
D 0210、以下( )是正確變量名。
A.a.bee B.-p11 http://C.int D.p_11
A 0301、若有定義:int x=2;則正確的賦值表達式是()
A.a–=(a*3)
B.double(–A.
C.a*3
D.a*4=3
C 0302、語句x=(a=3,b=++a);運行后,x、a、b的值依次為()。
A.3,3,4
B.4,4,3
C.4,4,4
D.3,4,3
B 0303、語句a=(3/4)+3%2;運行后,a的值為( )。
A.0
B.1
C.2
D.3
A 0304、char型變量存放的是( )。
A.ASCII代碼值
B.字符本身
C.十進制代碼值
D.十六進制代碼值
C 0305、若有定義:int x,a;則語句x=(a=3,a+1);運行后,x、a的值依次為()。
A.3,3
B.4,4
C.4,3
D.3,4
B 0306、若有定義:int a;則語句a=(3*4)+2%3;運行后,a的值為()。
A.12
B.14
C.11
D.17
A 0307、若有定義:int a,b;double x;,則以下不符合C語言語法的表達式是()。
A.x%(–3)
B.a+=–2
C.a=b=2
D.x=a+b
B 0308、若有定義:int x=2,y=3; float i; 則以下符合C語言語法的表達式是()。
A.x=x*3=2
B.x=(y==1)
C.i=float(x)
D.i%(–3)
C 0309、設double型變量a,b,c均有值;對代數式(3ae)/(bc)不正確的C語言表達式是( )。
A.a/b/c*e*3
B.3*a*e/b/c
C.3*a*e/b*c
D.a*e/c/b*3
C 0310、以下四項中,符合C語言語法的語句是()。
http://A.int a+b=c;
http://B.int a=12:b=12:c=12;
http://C.int a=12,b=12,c=12;
http://D.int a,b=12, float c=21;
B 0401、下面敘述正確的是( )。
A.2/3 與 2.0/3.0 等價
B.(int)2.0/3 與 2/3 等價
C.++5 與 6 等價
D.'A'與"A"等價
A 0402、下面關于算術運算符的敘述,錯誤的是( )。
A.其算術運算對象不包含函數
B.%(模運算符)的運算對象只能為整型量
C.算術運算符的結合方向是"自左至右"
D.自加和自減運算符的結合方向是"自右至左"
A 0403、下面敘述正確的是( )。
A.強制類型轉換運算的優先級高于算術運算
B.若a和b是整型變量,(a+b)++是合法的
C.'A'*'B' 是不合法的
D."A"+"B"是合法的
B 0404、若有定義:int k,i=2,j=4;則表達式k=(++i)*(j--) 的值是( ).
A.8
B.12
C.6
D.9
C 0405、設整型變量a為5,使b不為2的表達式是( )。
A.b=(++a)/3
B.b=6–(––a)
C.b=a%2
D.b=a/2
C 0406、若有定義:int a=1,b=2,c=3;則語句++a||++b&&++c;運行后b的值為( )。
A.1 B.0 C.2 D.3
B 0407、int i,j;則表達式(i=2,j=5,i++,i+j++)的值是()
A.7 B.8 C. 9 D.10
B 0408、int a,b;則表達式(a=2,b=5,a*2,b++,a+b)的值是().
A.7 B.8 C.9 D.10
B 0409、若有定義:int m=5,n=3;則表達式(m+1,n+1,(--m)+(n--))的值是()。
A.6 B.7 C.8 D.9
C 0410、若已定義:int i=3,k;則語句k=(i--)+(i--);運行后k的值為()。
A.4 B.5 C.6 D.7
B 0501、已知int a;使用scanf()函數輸入一個整數給變量a,正確的函數調用是( )。
A.scanf("%d",a);
B.scanf("%d",&a);
C.scanf("%f",&a);
D.scanf("%lf",&a);
D 0502、已知double a ; 使用scanf()函數輸入一個整數給變量a,正確的函數調用是( )。
A.scanf("%ld",&a);
B.scanf("%d",&a);
C.scanf("%7.2f",&a);
D.scanf("%lf",&a);
B 0503、已知char a;使用scanf()函數輸入一個字符給變量a ,不正確的函數調用是( )
A.scanf("%d",&a);
B.scanf("%lf",&a);
C.scanf("%c",&a);
D.scanf("%u",&a);
B 0504、putchar()函數的功能是向終端輸出( )。
A.多個字符
B.一個字符
C.一個實型變量值
D.一個整型變量表達式
D 0505、getchar()函數的功能是從終端輸入( )。
A.一個整型變量值
B.一個實型變量值
C.多個字符
D.一個字符
0506 D 若有定義:int x=1234,y=123,z=12;則語句printf(“%4d+%3d+%2d”,x,y,z);運行后的輸出結果為()。
A.123412312
B.12341234123412341231231231212
C.1234+1234+1234
D.1234+123+12
0507 A 已有如下定義和輸入語句,
int a;char c1,c2;
scanf("%d%c%c",&a,&c1,&c2);
若要求a、c1、c2的值分別為10、A和B,正確的數據輸入是()。
A.10AB
B.10 A B
C.10A B
D.10 AB
0508 B 已知如下定義和輸入語句:int a,b;
scanf((“%d,%d”,&a,&b);若要求a和b的值分別為10和20,則正確的數據輸入是()。
A.10 20
B.10,20
C.a=10,b=20
D.10;20
0509 D 下列程序運行結果為()。
void main()
{ int a=65; char c=’A’;
printf(“%x,%d”,a,c);
}
A.65,a
B.41,a
C.65,65
D.41,65
0510 B 若已定義:int a=5;float b=63.72; 以下語句中能輸出正確值的是( )。
A.printf(“%d %d”,a,b);
B.printf(“%d %.2f”,a,b);
C.printf(“%.2f %.2f”,a,b);
D.printf(“%.2f %d”,a,b);
A 0601、下面敘述中,( )不是結構化程序設計中的三種基本結構之一。
A.數據結構
B.選擇結構
C.循環結構
D.順序結構
A 0602、下面敘述中,( )不是結構化程序設計三種基本結構的共同特點。
A.先判斷后執行
B.單入口,單出口
C.程序中沒有執行不到的語句
D.無死循環
A 0603、結構化程序設計不包括( )。
A.最優化
B.自頂而下,逐步細化
C.模塊化設計
D.結構化編碼
D 0604、以下運算符中優先級最高的是()。
A.>
B.||
C.&&
D.+
A 0605、若有定義:int x=3,y=4;則表達式!x||y的值為()。
A 0606、若有定義:int i=7,j=8;則表達式i>=j||i<j的值為()。
C 0607、若希望當a的值為奇數時,表達式的值為“真”,a的值為偶數時,表達式的值為“假”,則不能滿足要求的表達式是()。
D 0608、若有定義:int x=3,y=4,z=5;則值為0的表達式是()。
A 0609、若有定義: int a=5,b=2,c=1;則表達式a-b<c||b==c的值是()。
C 0610、在下列運算符中,優先級最高的是()。
A 0701、已知 double a=5.2; 則正確的賦值表達式是( )。
A 0702、已知char a=’R’; 則正確的賦值表達式是()
A 0703、已知int a=’R’; 則正確的表達式是( )
A 0704、設單精度型變量f、g的值均為2.0,使f為4.0的表達式是()。
B 0705、若有定義:float x=3.5;int z=8;則表達式x+z%3/4的值為()。
A 0706、若有定義:int a=1,b=2,c=3,d=4,x=5,y=6;則表達式(x=a>b)&&(y=c>d)的值為( )。
A 0707、若有定義:int a=2,b=3;float x=3.5,y=2.5;則表達式(float)(a+b)/2+(int)x%(int)y的值是()。
C 0708、若有定義:int b=7;float a=2.5,c=4.7;則表達式a+(b/2*(int)(a+c)/2)%4的值是()。
C 0709、若定義:int a=6,b=2;char c1=’a’,c2=’b’;則表達式a+b%5+c2-c1的值是()。
B 0710、若已定義: int a=10;float b=2.5; 語句printf("%f",a+b*10/3);的輸出結果為( )。
A.18 B.18.333333 C.41 D.41.666667
B 0801、以下的語句中,無內嵌的if語句是( )。
B 0802、C語言對if嵌套語句的規定:else總是與( )配對。
B 0803、對于整型變量x,下述if語句( )與賦值語句:x=x%2= =0?1:0; 不等價。
B 0804、若有定義:int x=1,y=2,z=4;則以下程序段運行后z的值為()。
if(x>y)z=x+y;
else z=x-y;
D 0805、若有定義:inta=1,b=2,c=3;則以下程序段運行后a,b,c的值分別為()。
if(a<b){c=a;a=b;b=c;}
D 0806、以下程序段運行后a的值為()。
int x=6,y=5;
int a;
a=(--x==y++)?x:y+1;
C 0807、以下程序的運行結果()。
void main()
{ int n=’e’;
switch(n--)
{ default: printf(“error”);
case ‘a’:
case ‘b’: printf(“good”);break;
case ‘c’: printf(“pass”);
case ‘d’: printf(“warn”);
}
}
C 0808、 以下程序的運行結果是()
void main()
{ int n='c';
switch(n++)
{ default:printf("error");break;
case 'a':
case 'b':printf("good");break;
case 'c':printf("pass");
case 'd':printf("warn");
}
}
D 0809、以下程序的運行結果是()。
voin main()
int n=5;
if(n++>=6)
printf(“%dn”, n);
else
printf(“%dn”, ++n;)
A 0810、 下面關于switch語句的敘述中,錯誤的是()。
B 0901、設有整型變量x,下述語句( )不會出現死循環。
B 0902、對于整型變量x,與while(!x) 等價的是( )。
A 0903、對于整型變量x和y,語句for(x=0,y=0;(y!=123)&&(x<4);x++) y++;中的“y++;”被執行( )。
B 0904、在C語言中while循環和do—while循環的主要區別是()。
B 0905、以下程序段運行后,循環體運行的次數為()。 int i=10, x;
for( ; i<10; i++) x=x+ i;
D 0906、以下程序段運行后變量n的值為()。
int i=1,n=1;
for( ; i<3; i++) {continue;n=n+i;}
B 0907、以下程序的運行結果是()
void main()
{int sum=0,item=0;
while(item<5)
{ item++;
sum+=item;
if(sum==5)
break;
}
printf("%dn",sum);
}
C 0908、下列程序的運行結果為()。
void main()
{ int sum=0,item=0;
while(item<5)
{item++;
sum+=item;
if(sum>=6)
break;}
printf(“%dn”,sum);
}
B 0909、下列程序的運行結果為()。
void main()
{ int sum=0,item=0;
while(item<5)
{item++;
if(item==2)
continue;
sum+=item;
}
printf(“%dn”,sum);
}
B 0910、以下程序運行后,循環體中的”count+=2;”語句運行的次數為()。
int i,j,count=0;
for(i=1;i<=4;i++)
{ for( j=1;j<=i;j++)
{count+=2;
printf(“%d”,count);}
}
A. 8次 B. 10次 C)16次 D)20次
A1001、下列數組聲明中,正確的是( )。
A1002、下列數組聲明中,正確的是( )。
C1003、已知 int a[13]; 則不能正確引用a數組元素的是( )。
B1004、若有定義:int a[3]={0,1,2};則a[1]的值為()。
A1005、若有定義:int a[5]={1,2,3,4,5}; 則語句a[1]=a[3]+a[2+2]-a[3-1];運行后a[1]的值為()。
D1006、以下能對一維數組a進行正確初始化的語句是()。
D1007、下面程序段的運行結果是()。
int i=0,a[]={3,4,5,4,3};
do{ a[i]++;
}while(a[++i]<5)
for(i=0;i<5;i++)
printf(“%d”,a[i]);
C1008、下列程序段的運行結果為()。
int i=0,a[]={7,5,7,3,8,3};
do{ a[i]+=2;
}while (a[++i]>5);
for(i=0;i<6;i++)
printf(“%d ”,a[i]);
A1009、下列程序的運行結果是()。
int i=0,a[]={1,2,3,4,5};
do{ a[i]++10;
}while(a[++i]>2);
for(i=0;i<5;i++)
printf(“%d”,a[i]);
A. 11 2 3 4 5
B. 1 2 3 4 5
C. 11 12 13 14 15
D. 11 12 3 4 5
B1010、C語言中數組元素下標的數據類型是()。
C1101、設有如下程序段:
int a[3][3]={1,0,2,1,0,2,1,0,1}, i , j, s=0;
for(i=0;i<3;i++)
for(j=0;j<i;j++)
s=s+a[i][j];
則執行該程序段后,s的值是( )。
B1102、有如下定義int a[][3]={1,2,3,4,5,6,7,8};
則數組a的行數是( )。
D1103、以下數組定義中,正確的是( )。
A1104、若有定義:int a[3][4]={{1,2},{0},{1,2,3}};則a[1][1]的值為()。
A1105、若有定義:int a[3][3];則&a[2][1]-a的值為()。
D1106、若有定義:int i=0,x=0;int a[3][4]={1,2,3,4,5,6,7,8,9};則以下程序段運行后x的值為()。
for ( ; i<3; i++) x+=a[i][2-i];
D1107、int a[2][3];對數組非法引用的是()。
C1108、以下數組定義中,正確的是()。
A 1109、若有定義int a[][3]={1,2,3,4,5,6,7,8,9}; 則表達式sizeof(a)/sizeof(a[0])的值為()。
B1110、以下程序段運行后s的值是()。
int a[3][3]={1,2,3,1,2,3,1,2,3};
int i,j,s=1;
for(i=0;i<3;i++)
for(j=i;j<3;j++)
s*=a[i][j];
A. 18 B. 108 C. 2 D. 12
A 1201、設有以下變量定義:char str1[]=”string”, str2[8],*str3, *str4=”string”;( )是正確的。
D1202、有如下定義:
char str[6]={‘a’,’b’,’0’,’d’,’e’,’f’};
則語句:printf(“%s”,str);的輸出結果是( )。
C1203 、設有如下數組定義:char str[8]={“FuJian”}; 則分配給數組str的存儲空間是( )字節。
B1204、若有定義:char a[ ]=”abcdef”;char b[]=”xyz”;則以下程序運行后屏幕輸出為()。
strcpy(a,b); printf(“%c”,a[2]);
C1205、以下程序段運行后屏幕輸出為()。
char a[ ]= “abc0mis”; printf(“%d”,strlen(a));
B1206、若有定義:int a=2;則語句
a=strcmp(“miss”, “miss”);運行后a的值為( )。
B1207、下列程序運行后輸出( ).
char str[ ]=”abcd”; printf(“%d”,strlen(str));
A1208、以下程序運行后屏幕輸出為()。
char str[60]; strcpy(str,”hello”);
printf(“%d”,strlen(str));
B1209、char str1[6]= “abcdm”,*ps,*str2= “abcdef”;( )是正確的。
D1210、有如下定義:
char str[3][2]={‘a’,’b’,’c’,’0’,’e’,’f’};
則語句:printf(“%s”,str[0]);的輸出結果是( )。
A1301、設有如下函數定義:
int fun(char *str)
{ char *p=str;
while (*p!=’0’) p++;
return (p-str);
}則以下語句執行后的輸出結果是( )
printf(“%dn”,fun(“Student”))
A1302、以下程序的運行結果是( )。
int fun(int array[4][4])
{int j;
for(j=0;j<4;j++) printf(“%2d”,array[2][j]);
printf(“n”);
}
main()
{int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};
fun(a);
}
C1303、如下fun函數的類型是( )。
fun(float x)
{double y; int z;
y=x*x;
z=(int)y;
return(z);
}
B1304、以下程序運行后屏幕輸出為()。
#include<stdio.h>
int f(int x, int y)
{ return (x+y); }
main()
{ int a=2,b=3,c;
c=f(a, b);
printf(“%d+%d=%d”,a,b,c);
}
D1305、以下程序運行后屏幕輸出為()。
#include<stdio.h>
int a=2,b=3;
int max (int a, int b)
{ int c;
c=a>b?a:b;
return (c);
}
main()
{ int a=4;
printf(“%d”,max(a,b));
}
B1306、以下程序運行后屏幕輸出為()。
#include <stdio.h>
void f(int i)
{ int a=2;
a=i++;
printf(“%d,” ,a ); }
main( )
{ int a=1,c=3;
f(c);
a=c++;
printf(“%d”,a);
}
D1307、int fun()
{static int k=0;
return ++k;
}
以下程序段運行后輸出()。
int i;
for(i=1;i<=5;i++) fun();
printf(“%d”,fun());
D1308、以下程序運行后屏幕輸出為()。
#include <stdio.h>
int global=100;
fun ( )
{ int global=5;
return ++global; }
void main( )
{ printf(“%dn”,fun( ));
}
B1309、下列關于C語言函數的描述中正確的是()。
B1310、以下程序運行結果是()。
fun (int i )
{ int a=2;
a=i++;
printf(“%d,” ,a ); }
main( )
{ int a=5,c=3;
fun(c);
printf(“%d”,a);
}
A. 4 5 B. 3 5 C.4 4 D. 3 3
C 1401、以下程序的運行結果是( )。
#include<stdio.h>
int fun()
{ static int k=0;
k++;
return k;
}
int main()
{ int i,n;
for(i=1;i<=10;i++)
n=fun();
printf("%dn",n);
return 0;
}
A.0 B.1 C.10 D.9
C 1402、以下程序的運行結果是( )。
#include<stdio.h>
int fun(int x,int y)
{ return x>y?x:y; }
int main()
{ int m=1,n=2;
printf("%dn",fun(m,n));
return 0;
}
A.0 B.1 C.2 D.3
A 1403、函數定義時,返回值類型定義為( ),則表示該函數無返回值。
A.void B.float C.empty D.double
C 1404、以下程序的運行結果是( )。
#include<stdio.h>
int k=0;
void fun1(){ k=10; }
int fun2(){ k++; return k; }
int main()
{ fun1();
printf("%dn",fun2() );
return 0;
}
A.0 B.10 C.11 D.12
C 1405、以下程序的運行結果是( )。
#include<stdio.h>
void fun() { int k=10; printf("%d",k); }
int main()
{ int k=0; printf("%d,",k);
fun();
return 0;
}
A.0,0 B.10,10 C.0,10 D.10,0
B 1406、以下程序的運行結果是( )。
#include<stdio.h>
void fun(int x, int *py)
{ x++;
(*py)--;
}
int main( )
{ int a=5,b=10;
fun(a,&b);
printf("a=%d,b=%dn",a,b);
return 0;
}
A.a=5,b=10 B.a=5,b=9 C.a=6,b=9 D.a=6,b=10
B 1407、以下程序的運行結果是( )。
#include<stdio.h>
void fun(int x)
{ x++;
printf("%d ",x);
}
int main( )
{ int a=5;
fun(a);
printf("%dn",a);
return 0;
}
A.5 6 B.6 5 C.5 5 D.6 6
B 1408、以下程序的運行結果是( )。
#include<stdio.h>
int fun(int x)
{ if(x==1) return 1;
return x*fun(x/2);
}
int main( )
{ int a=5;
printf("%dn",fun(a));
return 0;
}
A.5 B.10 C.50 D.15
B 1409、以下程序的運行結果是( )。
#include<stdio.h>
int fun(int x)
{ if(x==0) return 1;
return fun(x/2);
}
int main( )
{ int a=5;
printf("%dn",fun(a));
return 0;
}
A.5 B.1 C.0 D.2
B 1410、以下程序的運行結果是( )。
#include<stdio.h>
int fun(int a[],int n)
{ if(n==1) return a[0];
return fun(a,n-1)+a[n-1];
}
int main( )
{ int a[]={1,2,3,4,5};
printf("%dn",fun(a,5));
return 0;
}
A.5 B.15 C.10 D.1
D1501、若有以下宏定義,#define MOD(x,y) x%y
則執行以下程序段后,z的值是( )。
int z,a=15,b=100;
z=MOD(b,a);
B1502、以下敘述中,正確的是( )。
A1503、以下敘述中,正確的是( )。
C1504、以下敘述中不正確的是( )。
A1505、若有定義: #define PI 3, 則表達式PI*2*2的值為()。
C1506、以下程序運行后,屏幕輸出為()。
#define MIN(a,b)((a)<(b)?(a):(b))
main()
{ int x=2,y=3,z;
z=2*MIN(x,y);
printf(“%d”,z);
}
A1507、下面程序的輸出結果是()。
#include <stdio.h>
#define SQR(x) (x*x)
void main()
{ int a,b=3;
a=SQR(b+2);
printf(“n%d”,a); }
C1508、下面程序的輸出結果是()。
#include <stdio.h>
#define ONE 1
#define TWO ONE+1
#define THREE TWO+1
void main()
{ printf(“%dn”,THREE-ONE)
}
B1509、以下敘述正確的是()。
A1510、以下敘述錯誤的是( )。
A.宏定義不占用程序運行時間,但與程序中的語句一樣需要編譯
B.宏定義必須放置在它所在的源程序文件的最前面
C.一個C語言源程序可以有多條預處理命令
D.宏定義中的宏名一般用大寫字母表示
D1601、設有以下語句,則( )是對a數組元素的不正確引用,其中0≤i<10。
int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a ;
C1602、若有定義int *p1,*p2;,則指針變量p1、p2不能進行的運算是( )。
B1603、執行以下程序段的輸出結果是( )。
int a=10,*p=&a;
printf(“%d”,++*p);
A1604、以下程序段運行后*(p+3)的值為()。
char a[]=”good”;
char *p;
p=a;
C1605、以下程序段運行后*(++p)的值為()。
char a[5]=”work”;
char *p;
p=a;
B1606、若有定義:int *p,a=4; p=&a;則以下均代表地址的是()。
D1607、若有說明語句:double *p,a; 則能通過scanf語句正確輸入項讀入數據的程序段是()。
A1608、在16位編譯系統上,定義int a[]={10,20,30} , *p=&a; 當執行p++;后下列錯誤的是()。
B1609、下面語句正確的是()。
A 1610、以下程序的運行結果是( )。
#include<stdio.h>
int main()
{ int a=1,b=2,*pa=&a,*pb=&b;
(*pa)++;
printf("%dn",a+b);
return 0;
}
A.4 B.3 C.1 D.2
D1701、若有以下程序段,且0≤i<4,0≤j<3,則不能正確訪問a數組元素的是( )。
int i,j,(*p)[3];
int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
p=a;
B1702、若函數fun的函數頭為:int fun(int i,int j)
且函數指針變量p定義如下:
int (*p)(int i,int j);
則要使指針p指向函數fun的賦值語句是( )。
D1703、設有如下變量定義:
char aa[ ][3]={‘a’,’b’,’c’,’d’,’e’,’f’};
char (*p)[3]=aa;
則以下程序段的運行結果是(D)。
p++;
printf(“%c”,**p);
D1704、 以下程序段運行后x的值為()。
int a[]={1,2,3,4,5,6,7,8}; int i,x,*p;
x=1; p=&a[2];
for(i=0;i<3;i++)
x*=*(p+i);
B1705、以下程序段運行后x的值為()。
int a[ ]={1,2,3}, b[ ]={4,2,5};
int *p,*q; int i ,x;
p=a; q=b;
for(i=0;i<3;i++)
if(*(p+i)==*(q+i))
x=*(p+i)*2;
C1706、以下程序段運行后x的值為()。
int a[9]={1,2,3,4,5,6,3,8,9};
int *p,*q; int i ,x;
p=&a[0]; q=&a[8];
for(i=0;i<3;i++)
if(*(p+i)==*(q-i))
x=*(p+i)*2;
A1707、下面程序輸出結果是()。
#include <stdio.h>
void main()
{ int i ; char *s="abc";
for(i=0;i<3;i++)
printf("%sn",s+i);
}
bc
c
bc
abc
c
bc
ab
abc
A1708、下面程序輸出是()。
#include <stdio.h>
void main()
{ char *str=“12345”,*ps=str+4;
printf(“%cn”,ps[-4]); }
A1709、從鍵盤輸入1 2 3 4 5<回車>,輸出為()。
#include <stdio.h>
#define N 5
void main()
{ int a[N]; int *p=a;
while(p<a+N)
scanf(“%d”,p++);
while(p>a)
printf(“%d”,*(- -p));
}
B1710、以下程序的運行結果是()。
int x[]={2,3,4,5,6,7},*p=x;
int i,s=0;
for(i=1;i<6;i++) s+=p[i++];
printf(“%d”,s);
A. 12 B. 15 C. 25 D. 27
1801 C 設有以下定義語句:
struct student
{int num;
char name[10];
float score;
}wang,zhang;
則不正確的敘述是( )。
B1802、設有以下定義語句:
struct student
{int num;
char name[10];
float score;
}wang,zhang;
則變量wang所占的內存字節數是( )。
B1803、設有如下定義語句:
union u_type
{int i;
double x;
float f;
};
struct str_type
{char str[100];
union u_type u[2];
}
則語句 printf(“%d”,sizeof(struct str_type)); 的輸出結果是( )。
C1804、若有定義:
struct teacher
{ int nun;
char name[10];
char sex;
int age;
float score;
}teacher1;
則變量teacher1所占用的內存字節數是()。
C1805、下列對結構體類型變量定義不正確的是()。
D1806、若有定義:
struct teacher
{int num;
char sex;
int age;
}teacher1;
則下列敘述不正確的是()。
D1807、以下程序的運行結果是()。
#include<stdio.h>
union Utype{
int i;
float f;
}u[2];
void main()
{printf("sizeof(u):%dn",sizeof(u));
}
D1808、以下程序運行結果為()。
#include <stdio.h>
union utype
{int i; float f;
};
struct
{ char ch[2];
int i;
union utype u;
}a;
void main()
{ printf(“sizeof(a):%dn”,sizeof(a))
}
D1809、以下C語言共用體類型數據的描述中,不正確的是()。
B1810、若有以下類型說明,則( )是正確的敘述。
typedef union
{ char str[2];
int i;
}sp;
A1901、對枚舉類型進行定義,不正確的是( )。
C1902、假定已有如下變量說明和枚舉定義:
char ch;
int j,k;
enum day{sun,mon,tue,wed,thu,fri,sat};
int a[sat]
判斷下列語句是否符合語法規則,結果是()。
char a; /*語句1 */
j+k=j; /*語句2 */
if(a[mon]>0) j++; /*語句 3 */
C1903、設有如下定義:
typedef int *INTEGER;
INTEGER p,*q; 則( )是正確的敘述。
A1904、以下程序段運行后,a,b,c的值分別是( )。
int a=3,b=5,c;c=a&b;
A.3,5,1 B.3,5,3 C.5,3,1 D.5,1,3
C1905、若有定義:int a=20,b=28,c; 則執行語句c=(a^b)<<2;后c的值為( )。
A1906、若有定義:int a=20,b=28,c; 則執行語句c=(a&b)>>2;后c的值為( )。
C 1907、在無符號數的位運算中,操作數右移一位相當于將該操作數( )。
A.除以4 B.乘以4 C.除以2 D.乘以2
C 1908、若已定義:int a=8,b=7,c; 語句c=a|b; 執行后c的值為( )。
A.0 B.8 C.15 D.7
B1909、下面程序輸出結果是()。
# include <stdio.h>
void main()
{enum weekday{sum=7,mon=1,tue,wed,thu,fr,sat};
enum weekday day=sat;
printf(“%dn”,day);
}
C1910、若有以下類型說明,敘述正確的事()。
typedef struct
{ int num;
char *name;
int score;
}STU,*PSTU;
總結
以上是生活随笔為你收集整理的c语言e怎么表示_如何一个月学完c语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mysql数据库和数据表的创建和信息更改
- 下一篇: 【USB转HDMI】笔记本 三屏显示 :