在下列各題的備選項中,請選擇一個最符合題意的選項。node
1) 如有如下程序段數組
int r=8; printf("%d\n",r>>1);
輸出結果:是( )。
A.4
B.8
C.16
D.2函數
2) 如有如下語句spa
typedef struct S { int g; char h; } T;
如下敘述中正確的是( )。
A.可用T定義結構體變量
B.可用S定義結構體變量
C.S是struct類型的變量
D.T是struct S類型的變量設計
3) 如下選項中,當x爲大於1的奇數時,值爲0的表達式是( )。
A.x%2==0
B.x/2
C.x%2!=0
D.x%2==1指針
4) 有如下程序code
#include <stdio.h> #define f(x) x*x*x main() { int a=3,s,t; s=f(a+1); t=f((a+1)); printf("%d,%d\n",s,t); }
程序運行後的輸出結果是( )。
A.10,64
B.10,10
C.64,10
D.64,64圖片
5) char w;int x;float y;則表達式w*x+y-3.14的結果類型是()。
A.float
B.char
C.int
D.Double字符串
6) 若執行如下程序時從鍵盤上輸入3和4,則輸出的結果是( )。get
main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a<b)s=b; s*=s; printf("%d\n",s); }
A.14
B.16
C.18
D.20
7) 下面程序的輸出結果是( )。
#include <stdio.h> #define SUB(X,Y) (X)*Y main() { int a=3,b=4; printf("%d\n",SUB(a++,b++)); }
A.12
B.15
C.16
D.20
8) 指針s所指字符串的長度爲( )。
char *s="\\abc\\\n";
A.9
B.7
C.6
D.說明不合法
9) 對於如下的變量定義,表達式( )不符合C語言語法。
struct node { int len; char *pk; } x = {2, "right"}, *p = &x;
A.p->pk
B.*p.pk
C.*p->pk
D.*x.pk
10) 若fp已正肯定義並指向某個文件,當未遇到該文件結束標誌時函數feof(fp)的值爲( )。
A.-1
B.0
C.1
D.3
請將下列試題的空白處補充完整。
1) C語言程序老是從( )函數開始執行。
2) 的C語言表達式( )。
3) 下列程序的輸出結果爲________。
#include<stdio.h> main() { int m=8; if(m--<8) printf("%d\n",++m); else printf("%d\n",--m); }
4) 如有說明int a[3][4]={{1,2}, {0}, {4,6,8,10}}
,則a數組的元素個數爲( )。
5) 己知int a[][3]={1,2,3,4,5,6};
,數組元素a[1][1]
的值是( )。
6) 有如下程序,執行後輸出結果是____。
#include <stdio.h> main() { unsigned char a,b; a=4|3; b=4&3; printf("%d%d\n",a,b); }
請將下列程序中的空白處補充完整。
1) 本程序中函數fun的功能是將字符串tt中的大寫字母都改成對應的小寫字母,其餘字符不變。例如,若輸入"Ab,cD",則輸出"ab,cd"。請將下述程序補充完整(注意:不改動程序的結構,不得增行或刪行)。
#include <stdio.h> #include <string.h> #include <conio.h> char 【1】 fun(char tt[]) { int i; for(i=0;tt[i];i++) { if((tt[i]>='A')&&(tt[i]<= 【2】 )) tt[i]+=32; } return(tt); } main() { char tt[81]; printf("\nPlease enter a string: "); gets(tt); printf("\nThe result string is: \n%s",fun( 【3】 )); }
2) 如下程序的功能是:求出數組x中各相鄰兩個元素的和依次存放到a數組中,而後輸出。請填空。
main( ) { int x[10],a[9],i; for (i=0;i<10;i++)scanf("%d",&x[i]); for( 【1】 ;i<10;i++) a[i-1]=x[i]+ 【2】 ; for(i=0;i<9;i++) printf("%d",a[i]); printf("\n"); }
請按要求修改下列程序中的錯誤。
1) 下列給定程序的功能是:讀入一個英文文本行,將其中每一個單詞的第一個字母改爲大寫,而後輸出此文本行(這裏的「單詞」是指由空格隔開的字符串)。例如,若輸入「good luck!」,則應輸出「Good Luck!」。
請修改程序中的錯誤,使程序能得出正確的結果。
注意:不要改動main函數,不能增行或刪行,也不能更改程序的結構。
#include <ctype.h> #include <string.h> #include <stdio.h> /*******found*********/ void top(char s) { int i=0; for(;*s;s++) if(i) { if(*s==' ') i=0; } else { if(*s!=' ') { i=1; *s=toupper(*s); } } } main() { char str[81]; printf("\nPlease enter an English text line: "); gets(str); printf("\n\nBefore changing:\n %s",str); top(str); printf("\nAfter changing:\n %s\n",str); }
2) 下列給定的程序中,函數fun的功能是交換主函數中兩個變量的值。例如,若變量x中的值爲1,y中的值爲2,則程序運行後x中的值爲2,y中的值爲1。
請修改程序中的錯誤,得出正確的結果。
注意:不要改動main函數,不能增行或刪行,也不能更改程序的結構。
#include <stdio.h> /****found******/ void fun(int a,int b) { int t; /****found******/ t=a;a=b;b=t; } main() { int x,y; x=1; y=2; fun(&x,&y); printf("the result is %d,%d\n",x,y); }
請按照試題要求,完成規定的程序設計。
1) 編寫程序驗證歌德巴赫猜測:1000-2000中的每個偶數均可以表示成兩個素數之和。若是此猜測成立,顯示"all numbers are OK!;不然顯示"n is not OK!",這裏n是第一個使猜測不成立的偶數。
2) 編寫程序,實現以下功能:
對鍵盤輸入的兩個字符串進行比較,而後輸出兩個字符串中第一個不相同字符的ASCII碼之差。例如,輸入的兩個字符串分別爲"abcdefg"和"abceef",則輸出爲-1。
3) N名學生的成績已經在主函數中放入一個帶頭結點的鏈表結構中,head指向鏈表的頭結點。請編寫程序,它的功能是求出平均分、由函數值返回。