- 相關(guān)推薦
2024年3月計算機c語言二級考試真題
許多程序是提供給別人使用的,如同正式的產(chǎn)品應(yīng)當提供產(chǎn)品說明書一樣,正式提供給用戶使用的程序,必須向用戶提供程序說明書。下面是小編整理的關(guān)于計算機c語言二級考試真題,歡迎參考!
3月計算機c語言二級考試真題 1
一、單項選擇
1、字符串"\\\efg\\\"的長度是:(c)。
A、3
B、11
C、7
D、5
2、設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+a+i*f值的數(shù)據(jù)類型為(A)。
A、double
B、不確定
C、int
D、float
3、下列語句的結(jié)果是(b)。
main()
{ int j;
j=3;
printf("%d,",++j);
printf("%d",j++);
}
A、3,3
B、4,4
C、3,4
D、4,3
4、邏輯表達式!(2-1)&&x||0的值是(b)
A、1
B、0
C、3
D、2
int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c;則a的值為(c)。
A、3
B、2
C、1
D、不一定
int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c;則a的值為(b)。
A、3
B、2
C、1
D、不一定
5、以下正確的描述是(a)。
A、只能用continue語句來終止本次循環(huán)
B、switch語句中不能出現(xiàn)continue語句
C、在循環(huán)中break語句不能獨立出現(xiàn)
D、goto語句只能用于退出多層循環(huán)
6、下面合法的語句定義是(a)。
A、char a[ ]={0,1,2,3,4,5};
B、int a[ ]="string";
C、int a[5]={0,1,2,3,4,5};
D、char a="string";
7、char a[10];不能將字符串"abc"存儲在數(shù)組中的是(b)。
A、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;
B、a="abc";
C、strcpy(a,"abc");
D、a[0]=0;strcat(a,"abc");
8、在C語言中,一維數(shù)組的定義方式為:類型說明符數(shù)組名(b)。
A、[整型常量]或[整型表達式]
B、[正整型常量表達式]
C、[整型表達式]
D、[常量表達式]
9、在定義全局變量和局部靜態(tài)變量的同時賦值,變量的`初始化在(c)時確定的
A、運行
B、編輯
C、編譯
D、調(diào)試
10、關(guān)于建立函數(shù)的目的,以下正確的說法是(a)。
A、提高程序的可讀性
B、減少程序文件所占內(nèi)存
C、減少程序的篇幅
D、提高程序的執(zhí)行效率
二、程序填空
1
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:計算矩陣a的下三角(包含主對角線)元素之積,矩陣的
行、列數(shù)和元素值均由鍵盤輸入。
-------------------------------------------------------*/
#define M 10
#include "stdio.h"
int main()
{
int i,j,n,a[M][M];
long s=1;
scanf("%d",&n);
/***********FILL***********/
for(_________)
for(j=0;j
scanf("%d",&a[i][j]);
for(i=0;i
/***********FILL***********/
for(j=0;_______;j++)
/***********FILL***********/
s=_________;
printf("%ld\n",s);
return 0;
}
【空1】
【參考答案】
i=0;i
i=0;i
============================================================
【空2】
【參考答案】
j<=i
i>=j
(i+j)>(n-1)&&j
(j+i)>(n-1)&&j
============================================================
【空3】
【參考答案】
s*a[i][j]
a[i][j]*s
編程題
三、【程序設(shè)計】
--------------------------------------------------
功能:找出一個大于給定整數(shù)且緊隨這個整數(shù)的素數(shù),并
作為函數(shù)值返回。
------------------------------------------------*/
#include "stdio.h"
#include"conio.h"
int fun(int n)
{
/*********Begin**********/
int i,k;
for(i=n+1;;i++){
for(k=2;k
if(i%k==0)
break;
if(k==i)
return(i);
}
/********** End **********/
【程序設(shè)計】
--------------------------------------------------
功能:求出二維數(shù)組外圍元素之和,作為函數(shù)值返回。二
維數(shù)組的值在主函數(shù)中賦予。
-------------------------------------------------*/
#define M 4
#define N 5
#include "stdio.h"
int fun(int a[M][N])
{
/*********Begin**********/
int s=0;
int i,j;
for(i=0;i
s=s+a[i][0]+a[i][N-1];
for(j=1;j
s=s+a[0][j]+a[M-1][j];
return s;
3月計算機c語言二級考試真題 2
一、選擇題((1)—(10)、(21)—(40)每題2分,(11)—(20)每題1分,共70分)
。1)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是
A、循環(huán)隊列
B、帶鏈隊列
C、二叉樹
D、帶鏈棧
。2)下列數(shù)據(jù)結(jié)果中,能夠按照“先進后出”原則存取數(shù)據(jù)的是
A、循環(huán)隊列
B、棧
C、隊列
D、二叉樹
(3)對于循環(huán)隊列,下列敘述中正確的是
A、隊頭指針是固定不變的
B、隊頭指針一定大于隊尾指針
C、隊頭指針一定小于隊尾指針
D、隊頭指針可以大于隊尾指針,也可以小于隊尾指針
。4)算法的空間復(fù)雜度是指
A、算法在執(zhí)行過程中所需要的計算機存儲空間
B、算法所處理的數(shù)據(jù)量
C、算法程序中的語句或指令條數(shù)
D、算法在執(zhí)行過程中所需要的臨時工作單元數(shù)
。5)軟件設(shè)計中劃分模塊的一個準則是
A、低內(nèi)聚低耦合
B、高內(nèi)聚低耦合
C、低內(nèi)聚高耦合
D、 高內(nèi)聚高耦合
(6)下面敘述中錯誤的是
A、軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B、對被調(diào)試的程序進行“錯誤定位”是程序調(diào)試的必要步驟
C、程序調(diào)試通常也稱為Debug
D、軟件測試應(yīng)嚴格執(zhí)行測試計劃,排除測試的隨意性
(7)耦合性和內(nèi)聚性是對模塊獨立性度量的兩個標準。下列敘述中正確的是
A、提高耦合性降低內(nèi)聚性有利于提高模塊的獨立性
B、降低耦合性提高內(nèi)聚性有利于提高模塊的獨立性
C、耦合性是指一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度
D、內(nèi)聚性是指模塊間互相連接的緊密程度
。8)數(shù)據(jù)庫管理系統(tǒng)是
A、操作系統(tǒng)的一部分
B、在操作系統(tǒng)支持下的系統(tǒng)軟件
C、一種編譯系統(tǒng)
D、 一種操作系統(tǒng)
。9)在E-R圖中,用來表示實體聯(lián)系的圖形是
A、橢圓圖
B、矩形
C、菱形
D、 三角形
。10)有三個關(guān)系R,S和T如下:
其中關(guān)系T由關(guān)系R和S通過某種操作得到,該操作為
A、選擇
B、投影
C、交
D、并
。11)以下敘述中正確的是
A、程序設(shè)計的任務(wù)就是編寫程序代碼并上機調(diào)試
B、程序設(shè)計的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)
C、程序設(shè)計的任務(wù)就是確定所用算法
D、以上三種說法都不完整
。12)以下選項中,能用作用戶標識符的是
A、void
B、8_8
C、_0_
D、unsigned
(13)閱讀以下程序
#include
main()
{ int case; float printF;
printf(“請輸入2個數(shù):”);
scanf(“%d %f”,&case,&pjrintF);
printf(“%d %f ”,case,printF);
}
該程序編譯時產(chǎn)生錯誤,其出錯原因是
A、定義語句出錯,case是關(guān)鍵字,不能用作用戶自定義標識符
B、定義語句出錯,printF不能用作用戶自定義標識符
C、定義語句無錯,scanf不能作為輸入函數(shù)使用
D、定義語句無錯,printf不能輸出case的值
。14)表達式:(int)((double)9/2)-(9)%2的值是
A、0
B、3
C、4
D、5
。15)若有定義語句:int x=10;,則表達式x-=x+x的值為
A、-20
B、-10
C、0
D、10
。16)有以下程序
#include
main()
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d ”,a=2*b);
}
程序運行后的輸出結(jié)果是
A、0,0
B、1,0
C、3,2
D、1,2
17)設(shè)有定義:int a=1,b=2,c=3;,以下語句中執(zhí)行效果與其它三個不同的是
A、if(a>B、 c=a,a=b,b=c;
B、if(a>B、 {c=a,a=b,b=c;}
C、if(a>B、 c=a;a=b;b=c;
D、if(a>B、 {c=a;a=b;b=c;}
(18)有以下程序
#include
main()
{ int c=0,k;
for (k=1;k<3;k++)
switch (k)
{ default: c+=k
case 2: c++;break;
case 4: c+=2;break;
}
printf(“%d ”,C、;
}
程序運行后的輸出結(jié)果是
A、3
B、5
C、7
D、9
(19)以下程序段中,與語句:k=a>b?(b>c?1:0):0;功能相同的是
A、if((a>b)&&(b>C、) k=1;
else k=0;
B、if((a>b)||(b>C、 k=1;
else k=0;
C、if(a<=B、 k=0;
else if(b<=C、k=1;
D、if(a>B、 k=1;
else if(b>C、k=1;
else k=0;
20)有以下程序
#include
main()
{ char s[]={“012xy”};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=’a’&&s[i]<=’z’) n++;
printf(“%d ”,n);
}
程序運行后的輸出結(jié)果是
A、0
B、2
C、3
D、5
。21)有以下程序
#include
main()
{ int n=2,k=0;
while(k++&&n++>2);
printf(“%d %d ”,k,n);
}
程序運行后的輸出結(jié)果是
A、0 2
B、1 3
C、5 7
D、1 2
。22)有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是
A、char a=’a’;
B、char a=’ ’;
C、char a=’aa’;
D、char a=’x2d’;
。23)有以下程序
#include
main()
{ char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d ”,c1,c2);
}
已知字母A的ASCII碼為65,程序運行后的輸出結(jié)果是
A、E,68
B、D,69
C、E,D
D、輸出無定值
。24)有以下程序
#include
void fun(int p)
{ int d=2;
p=d++; printf(“%d”,p);}
main()
{ int a=1;
fun(a); printf(“%d ”,a);}
程序運行后的輸出結(jié)果是
A、32
B、12
C、21
D、22
。25)以下函數(shù)findmax擬實現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯導致不能實現(xiàn)預(yù)定功能
#define MIN -2147483647
int findmax (int x[],int n)
{ int i,max;
for(i=0;i
{ max=MIN;
if(max
return max;
}
造成錯誤的原因是
A、定義語句int i,max;中max未賦初值
B、賦值語句max=MIN;中,不應(yīng)給max賦MIN值
C、語句if(max
D、賦值語句max=MIN;放錯了位置
。26)有以下程序
#include
main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%d ”,m,n,*p,*q);
}
程序運行后的輸出結(jié)果是
A、1,2,1,2
B、1,2,2,1
C、2,1,2,1
D、2,1,1,2
。27)若有定義語句:int a[4][10],*p,*q[4];且0≤i<4,則錯誤的賦值是
A、p=a
B、q[i]=a[i]
C、p=a[i]
D、p=&a[2][1]
。28)有以下程序
#include
#include
main()
{ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];
printf(“%d,”,strlen(p));printf(“%s ”,p);
}
程序運行后的`輸出結(jié)果是
A、9,One*World
B、9,One*Dream
C、10,One*Dream
D、10,One*World
。29)有以下程序
#include
main()
{ int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“ ”);
}
A、3 3 4 4
B、2 0 5 0
C、3 0 4 0
D、0 3 0 4
。30)有以下程序
#include
#include
main()
{ char a[10]=”abcd”;
printf(“%d,%d ”,strlen(a),sizeof(a));
}
程序運行后的輸出結(jié)果是
A、7,4
B、4,10
C、8,8
D、10,10
。31)下面是有關(guān)C語言字符數(shù)組的描述,其中錯誤的是
A、不可以用賦值語句給字符數(shù)組名賦字符串
B、可以用輸入語句把字符串整體輸入給字符數(shù)組
C、字符數(shù)組中的內(nèi)容不一定是字符串
D、字符數(shù)組只能存放字符串
。32)下列函數(shù)的功能是
fun(char * a,char * b)
{ while((*b=*a)!=’’) {a++,b++;} }
A、將a所指字符串賦給b所指空間
B、使指針b指向a所指字符串
C、將a所指字符串和b所指字符串進行比較
D、檢查a和b所指字符串中是否有’’
。33)設(shè)有以下函數(shù)
void fun(int n,char * s) {……}
則下面對函數(shù)指針的定義和賦值均是正確的是
A、void (*pf)(); pf=fun;
B、viod *pf(); pf=fun;
C、void *pf(); *pf=fun;
D、void (*pf)(int,char);pf=&fun;
。34)有以下程序
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf(“%d ”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
程序運行以后的輸出結(jié)果是
A、7
B、8
C、9
D、10
(35)有以下程序
#include
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf(“%d,%d ’,s,t);
}
程序運行后的輸出結(jié)果是
A、10,64
B、10,10
C、64,10
D、64,64
。36)下面結(jié)構(gòu)體的定義語句中,錯誤的是
A、struct ord {int x;int y;int z;}; struct ord a;
B、struct ord {int x;int y;int z;} struct ord a;
C、struct ord {int x;int y;int z;} a;
D、struct {int x;int y;int z;} a;
。37)設(shè)有定義:char *c;,以下選項中能夠使字符型指針c正確指向一個字符串的是
A、char str[ ]=”string”;c=str;
B、scanf(“%s”,C;
C、c=get);
D、*c=”string”;
。38)有以下程序
#include
#include
struct A
{ int a; char b[10]; double c;};
struct A f(struct A t);
main()
{ struct A a={1001,”ZhangDa”,1098.0};
a=f(a);jprintf(“%d,%s,%6.1f ”,a.a,a.b,a.C;
}
struct A f(struct A t)
( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )
程序運行后的輸出結(jié)果是
A、1001,ZhangDa,1098.0
B、1001,ZhangDa,1202.0
C、1001,ChangRong,1098.0
D、1001,ChangRong,1202.0
。39)若有以下程序段
int r=8;
printf(“%d ”,r>>1);
輸出結(jié)果是
A、16
B、8
C、4
D、2
(40)下列關(guān)于C語言文件的敘述中正確的是
A、文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進制文件
B、文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進制文件或文本文件
C、文件由數(shù)據(jù)序列組成,可以構(gòu)成二進制文件或文本文件
D、文件由字符序列組成,其類型只能是文本文件
【3月計算機c語言二級考試真題】相關(guān)文章:
3月計算機等級考試二級c筆試真題01-22
計算機二級C語言真題及答案01-22
計算機二級考試C語言歷年真題及答案解析03-10
2017年計算機二級c語言考試真題及答案03-09
2017年計算機二級考試C語言歷年真題03-08
2016年計算機二級C語言考試真題及答案03-05
2016年3月計算機二級考試真題及答案03-05
計算機二級C語言筆試歷年真題及答案03-05