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