C語(yǔ)言程序設(shè)計(jì)模擬試題附答案
C語(yǔ)言程序設(shè)計(jì)可以作為系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴計(jì)算機(jī)硬件的應(yīng)用程序。以下是由陽(yáng)光網(wǎng)小編整理關(guān)于C語(yǔ)言程序設(shè)計(jì)模擬試題的內(nèi)容,希望大家喜歡!
C語(yǔ)言程序設(shè)計(jì)模擬試題
一、單項(xiàng)選擇題(20分,每題2分)
1.程序段
int *p,a;
p=&a;
a=10;
printf("%d",p);
的輸出應(yīng)為:
A)10 B)0 C)不能確定 D)語(yǔ)法錯(cuò)誤
2.C語(yǔ)言規(guī)定,簡(jiǎn)單變量作為實(shí)參時(shí),他和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是:
A)單向值傳遞 B) 地址傳遞 C) 相互傳遞 D) 由用戶指定方式
3.以下語(yǔ)句或語(yǔ)句組中,能正確進(jìn)行字符串賦值的是。
A)char *sp;*sp="right!"; B)char s[10];s="right!";
C)char s[10];*s="right!"; D)char *sp="right!";
4.for(i=0;i<10;i++)
if(i〈=5) break;
則循環(huán)結(jié)束后i的值為
A)0 B)1 C)5 D)10
5.有以下程序
main()
{
int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想從鍵盤(pán)上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是。
A)m=123n=456p=789 B) m=123 n=456 p=789
C)m=123,n=456,p=789 D)123 456 789
6.C語(yǔ)言中,最基本的數(shù)據(jù)類(lèi)型包括:
A)整型、實(shí)型、邏輯型 B)整型、字符型、數(shù)組
C)整型、實(shí)型、字符型 D)整型、實(shí)型、結(jié)構(gòu)體
7.以下說(shuō)法正確的是
A) C程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行
B) 在C程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C) C程序總是從main()函數(shù)開(kāi)始執(zhí)行
D) C程序的main()函數(shù)必須放在程序的開(kāi)始部分
8.程序段
int *p, a=1;
p=&a;
*p=10;
a的值為:
A) 1 B) 10 C) 不能確定 D) 11
9.以下定義語(yǔ)句中,錯(cuò)誤的是
A) int a[]={1,2}; B) char *a[3];
C) char s[10]="test"; D) int n=5,a[n];
10.假定int類(lèi)型變量占用兩個(gè)字節(jié),有定義:int x[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是
A) 3 B) 6 C) 10 D) 20
二、填空題(30分,每空2分)
1.已知字符A的ACSII碼值為65,以下語(yǔ)句的輸出結(jié)果是 (1) 。
char ch=’B’;
printf("%c %d\n",ch,ch);
2.’a’在內(nèi)存中占 (2) 個(gè)字節(jié),”a”在內(nèi)存中占 (3) 個(gè)字節(jié)。
3.若有int a[3][2] = {{1},{3,2},{4,5}};,則a[1][1]的值是 (4) 。
4.有以下程序,執(zhí)行后輸出結(jié)果是 (5) 。
main( )
{
int t=1,i=5;
for(;i>=0;i--) t*=i;
printf("%d\n",t);
}
5.在循環(huán)語(yǔ)句中,break語(yǔ)句的作用是 (6) ,continue語(yǔ)句的作用是 (7) 。
6.下面程序段將字符數(shù)組b連接到數(shù)組a的后面。
main()
{
char a[20]= ."I am ";
char b[]= ."a student.";
int i, j;
i = strlen(a);
for(j =__(8)___; b[j]!='\0'; j++)
{
a[__(9)__] = b[__(10)__];
}
a[___(11)__] = ___(12)___ ;
}
7.for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
語(yǔ)句組
的執(zhí)行順序是先求解表達(dá)式1、再___(13)______、如果成立則執(zhí)行___(14)____、然后___(15)______。
三、寫(xiě)出程序的運(yùn)行結(jié)果(30分,每題10分)
1.寫(xiě)出程序運(yùn)行后的輸出結(jié)果。
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j<4;j++)
{
i=j;
if(i>2)
i=3-j;
s+=b[i][j];
}
return s;
}
main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a));
}
2.寫(xiě)出程序運(yùn)行后的輸出結(jié)果
#include <stdio.h>
main()
{
float x=2,y;
if(x<0)
y=0;
else if(x<10)
y=1/x;
else
y=1;
printf(“%f\n”,y);
}
3.(1)函數(shù)sub()的功能是什么?(2)寫(xiě)出程序運(yùn)行的輸出結(jié)果。
long sub(int num)
{
int i;
long subsum=1;
for(i=1;i<=num;i++)
subsum*=i;
return(subsum);
}
main()
{
int i;
long sum=0;
for(i=1;i<=4;i++)
{
sum+=sub(i);
printf("sum%1d=%ld\n",i,sum);
}
}
四、編程(完形填空)(20分,每題10分)
1.寫(xiě)一個(gè)函數(shù),實(shí)現(xiàn)將一個(gè)長(zhǎng)度≤80的'字符串按逆序存放。解題要求:該函數(shù)的唯一形參是字符串的起始地址。
void convert(char string[])
{
int length,mid,i;
char temp;
length=____(1)____(string);
mid=____(2)_____;
for(____(3)____;i<mid;i++)
{
temp=____(4)_____;
string[i]=string[____(5)_____];
string[(length-1)-i]=temp;
}
}
2.以下程序計(jì)算某年某月有幾天,1、3、5、7、8、10、12月有31天,4、6、9、11月有30天,2月為28天、閏年2月為29天。
main()
{
int yy,mm,day;
scanf(“%d%d”,&yy,&mm);
switch(__(6)___)
{
case1:
case3:
case5:
case7:
case8:
case10:
case12: day=__(7)___;
break;
case4:
case6:
case9:
case11: day=__(8)___;
break;
case2: if(((yy%4==0)_(9)_(yy%100!=0)) (10)_(yy%400==0))
day=29;
else
day=28;
break;
}
}
}
C語(yǔ)言程序設(shè)計(jì)模擬試題答案
一、單項(xiàng)選擇題(20分,每題2分)
1.C 2.A 3.D 4.D 5.A 6.C 7.C 8.B 9.D 10.D
二、填空題(30分,每空2分)
(1) B 66
(2) 1
(3) 2
(4) 2
(5) 0
(6) 跳出循環(huán)體
(7) 跳過(guò)循環(huán)體中剩余的語(yǔ)句而強(qiáng)行執(zhí)行下次循環(huán)。
(8) 0
(9) i+j
(10) j
(11) i+j
(12) '\0'
(13) 判斷表達(dá)式2
(14) 語(yǔ)句組
(15) 求解表達(dá)式3
三、寫(xiě)出程序的運(yùn)行結(jié)果(30分,每題10分)
1. 16
2. 0.500000
3. (1) 函數(shù)sub( )的功能是根據(jù)當(dāng)前實(shí)參i的值控制其for循環(huán)的次數(shù),進(jìn)一步控制運(yùn)算:subsum*=i的次數(shù)。 (注:非標(biāo)準(zhǔn)答案,表述相近既可)
實(shí)參i取值
返回值subsum的值
1
1
2
1*2=2
3
2*3=6
4
6*4=24
(2) 運(yùn)行結(jié)果:
sum0=1
sum1=3
sum2=9
sum3=33
四、編程(完形填空)(20分,每題10分)
1.
(1) strlen
(2) length/2
(3) i=1
(4) string[i]
(5) (length-1)-i
2.
(6) mm
(7) 31
(8) 30
(9) &&
(10) ||
【C語(yǔ)言程序設(shè)計(jì)模擬試題附答案】相關(guān)文章:
4.C語(yǔ)言程序設(shè)計(jì)模擬試題及答案(八)