第1題
以下敘述正確的是
在C程序中,main函數(shù)必須位于程序的最前面
C程序的每行中只能寫一條語句
C語言本身沒有輸入輸出語句
在對一個C程序進行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤
第2題
以下敘述不正確的是
一個C源程序必須包含一個main函數(shù)
一個C源程序可由一個或多個函數(shù)組成
C程序的基本組成單位是函數(shù)
在C程序中,注釋說明只能位于一條語句的后面
第3題
設(shè)有說明:double y=0.5,z=1.5;int x=10;則能夠正確使用C語言庫函數(shù)的賦值語句是( )。
z=exp(y)+fabs(x);
y=log10(y)+pow(y);
z=sqrt(y-z);
x=(int)(atan2(double)x,y)+exp(y-0.2)
第4題
以下C程序的運行結(jié)果是( )。(注釋:□表示空格)
#include<stdio.h> int main() { long y=-43456; printf("y=%-8ld\n",y); printf("y=%-08ld\n",y); printf("y=%08ld\n",y); printf("y=%+8ld\n",y); return 0; }
y=□□-43456 y=-□□43456 y=-0043456 y=-43456
y=43456 y=-43456 y=0043456 y=+□43456
y=43456 y=-43456 y=0043456 y=□□-43456
y=□□-43456 y=-0043456 y=00043456 y=+43456
第5題
在一個C源程序文件中,若要定義一個只允許本源文件中所有函數(shù)使用的全局變量,則該變量需要使用的存儲類別是( )。
extem
register
auto
static
第6題
在C語言中,要求運算數(shù)必須是整型的運算符是( )。
/
++
!=
%
第7題
若有初始化語句:int a[3][4]={0};則下面正確的敘述是( )。
只有元素a[0][0]可得到初值0
此初始化語句不正確
數(shù)組a中個元素都可得到初值,但其值不一定是0
數(shù)組a中每個元素均可得到初值0
第8題
設(shè)有程序段:int k=10;while(k=0)k=k-1;則下面描述正確的是( )。
while循環(huán)執(zhí)行10次
循環(huán)是無限循環(huán)
循環(huán)體語句一次也不執(zhí)行
循環(huán)體語句執(zhí)行一次
第9題
已有變量定義和函數(shù)調(diào)用語句int a=25;print_value("&A");下面函數(shù)的正確輸出結(jié)果是
void print_value(int x) { printf("%d\n",++x); }
23
24
25
26
第10題
以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤原因是( )。
int main() { int *p,*q,a,b; p=&a; printf("intput a:"); scanf("%d",*p); }
*p表示的是指針變量p的地址
*p表示的是變量a的值,而不是變量a的地址
*p表示的是指針變量p的值
*p只能用來說明p是一個指針變量
第11題
下面程序段運行結(jié)果是( )。
int a[6],i; for(i=1;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); }
-4 0 4 0 4
-4 0 4 0 3
-4 0 4 4 3
-4 0 4 4 0
第12題
以下程序輸出的是( )。
#include<stdio.h> int main() { int x=2,y=1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf("%d\n",z); return 0; }
3
2
1
0
第13題
以下程序的輸出是( )。
#include<stdio.h> int main() { int x=1; if(x=2) printf("OK"); else if(x<2) printf("%d\n",x); else printf("Quit"); }
OK
Quit
無輸出結(jié)果
第14題
以下程序的正確運行結(jié)果是( )。
#include<stdio.h> void num() { extern int x,y; int a=15,b=10; x=a-b; y=a+b; } int main() { int x,y; int a=7,b=5; x=a+b; y=a-b; num(); printf("%d,%d\n",x,y); return 0; }
12,2
不確定
5,25
1,12
第15題
假設(shè)等比數(shù)列的第一項a=1,公比q=2,下面程序的功能是求滿足前n項和小于100的最大n,請選擇填空( )。
#include<stdio.h> int main() { int a=1,g=2,n=0,sum=0; do { ______; ++n; a*=g; }while(sum<100); n-=1; printf("%d\n",n); return 0; }
sum++
sum+=a
sum=a+a
a+=sum
第16題
設(shè)有如下結(jié)構(gòu)體說明:
struct ST { int a; float b; struct ST *c; double x[3]; }st1;
請?zhí)羁?,完成以下對?shù)組s的定義,使其每個元素均為上述結(jié)構(gòu)體類型__________。
第17題
C語言源程序的基本單位是______________。
第18題
在C語言源程序中,一個變量代表______________。
第19題
若有定義語句:char c='\010';則變量c中包含的字符個數(shù)為______________。
第20題
若有定義語句:int b=7;float a=2.5,c=4.7;則表達式:a+(int)(b/3*(int)(a+c)/2)%4的值為________。
第21題
下面程序段中循環(huán)體的執(zhí)行次數(shù)是___________。
a=10;b=0; do { b+=2; a-=2+b; }while(a>=0);
第22題
字符串"ab\n\\012\\\"的長度是__________。
第23題
請讀以下函數(shù)
getbits(unsigned x,unsigned p,unsigned n) { x=((x<<(p+1-n))&((unsigned)-0>>n)) return x; }
假設(shè)機器的無符號整數(shù)字長為16位,若調(diào)用此函數(shù)時x=0115032,p=7則函數(shù)返回值的八進制數(shù)是___________。
第24題
設(shè)有char a,b;若要通過a&b運算屏蔽掉a中的其他位,只保留第2和第8位(右起為第1位),則b的二進制數(shù)是___________。
第25題
下面程序段運行結(jié)果是_________。
char *s1="AbcdEf",*s2="aB"; int t; s1++; t=(strcmp(s1,s2)>0); printf("%d\n",t);
第26題
以下程序功能是:計算某年某月有幾天,其中判別閏年的條件是:能被4整除但不能被100整除的年是閏年,能被400整除的年也是閏年,請?zhí)羁?/p>
#include<stdio.h> int main() { int yy,mm,len; printf("year,month="); scanf("%d%d",&yy,&mm); switch(mm) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:___1___;break; case 4: case 6: case 9: case 11:len=30;break; case 2: if(yy%4==0&&yy%100!=0||yy%400==0) ___2___; else ___3___;break; default:printf("input error");break; printf("the length of%d%d is %d\n",yy,mm,len); return 0; } }
第27題
若運行時輸入:4.4<回車>,則以下程序的運行結(jié)果是( )。
#include<stdio.h> int main() { float costPrice,sellingPrice; printf("Enter cosPrice$:"); scanf("%f",&costPrice); if(costPrice>=5) { sellingPrice=costPrice+costPrice*0.25; printf("Selling Price(0.25)$%6.2f",sellingPrice); } else { sellingPrice=costPrice+costPrice*0.30; printf("Selling Price(0.30)$%6.2f",sellingPrice); return 0; } }
第28題
以下程序運行結(jié)果是_________。
#include<stdio.h> int main() { int n=0; n+=(n=10); printf("%d\n",n); return 0; }
第29題
以下printf語句中的負(fù)號的作用是__________,該程序的輸出結(jié)果是______________。
#include<stdio.h> int main() { int x=12; double a=3.1415926; printf("%6d##\n",x); printf("%-6d##\n",x); printf("%14.101df##\n",a); printf("%-14.101df##\n",a); }
第30題
函數(shù)f中的形參a為一個10*10的二維數(shù)組,n的值為5,以下程序運行結(jié)果為__________。
#include<stdio.h> void f(int a[10][10],int n) { int i,j,k; j=n/2+1; a[i][j]=1,i=1; for(k=2;k<=n*n;k++) { i=i-1; j=j+1; if((i<1)&&(j>n)) { i=i+2; j=j-1; } else { if(i<1) i=n; if(j>n) j=1; } f(a[i][j]==0) a[i][j]=k; else{ i=i+2; j=j-1; a[i][j]=k; } } }
第31題
下面程序的功能是將二維數(shù)組a中的每個元素向右移一列,最右一列換到最左一列,移后的數(shù)組存到另一個二維數(shù)組b中,并按矩陣形式輸出a和b,請?zhí)羁铡?/p>
#include<stdio.h> int main() { int a[2][3]={4,5,6,1,2,3},b[2][3]; int i,j; printf("array a:\n"); for(i=0;i<=1;i++) { for(j=0;j<3;j++) printf("%5d",a[i][j]); printf("\n"); ___1___; for(___2___;i++) b[i][0]=a[i][2]; printf("array b:\n"); for(i=0;i<2;i++) { printf("%5d",b[i][j]); ___3___; return 0; } } }
第32題
下面程序的功能是完成用100元人民幣換成1元、2元、5元所有兌換方案。
#include<stdio.h> int main() { int i,j,k,L=1; for(i=0i<=20;i++) for(j=0;j<=50;j++) { k=___1___; if(___2___) { printf("%2d%2d%2d",i,j,k); L=L+1; if(L%5==0) printf("\n"); return 0; } } }
第33題
下面程序的運行結(jié)果是___________。
#include<stdio.h> int main() { char a[80],b[80],*p="aAbcdDefgGH"; int i=0,j=0; while(*p!='\0') { if(*p>='a'&&*p<='z') { a[i]=*p; i++; } else { b[j]=*p; j++; } p++; } a[i]=b[i]='\0'; puts(a); puts(b); return 0; }
第34題
編寫程序?qū)崿F(xiàn)功能:輸入整數(shù)a和b,若a2和b2>100,則輸出a2+b2百位以上的數(shù)字,否則直接輸出a2+b2的和
參考答案:
#include<stdio.h> int main() { int a,b,x,y; scanf("%d%d",&a,&b); x=a*a*+b*b; if(x>100) { y=x/100; printf("%d",y); } else printf("%d",a+b); return 0; }
第35題
編寫程序?qū)崿F(xiàn)功能:對于給定的一個百分制成績,改用相應(yīng)的五級分成績表示。設(shè):90分以上為A,80-90分為B,70-79分為C,60-69分為D,60分以下為E(要求用switc實現(xiàn))。
#include<stdio.h> int main() { int score,temp,log; char grade; log=1; while(log) { printf("enter score:"); scanf("%d",&score); if((score>100)||(score<0)) printf("\n error,try again!\n"); else log=0; if(score==100) temp=9; else temp=(score-score%10)/10; switch(temp) { case 0: case 1: case 2: case 3: case 4: case 5:grade='E';break; case 6:grade='D';break; case 7:grade='C';break; case 8:grade='B';break; case 9:grade='A'; printf("score=%d,grade=%c\n",score,grade); } } }
選擇題(1 - 15題,共計15分) 填空題(16 - 35題,共計85分)