《C語言程序設(shè)計》模擬試題
一、單項選擇題(每小題2分,共30分,請將每小題答案填在下面對應(yīng)的橫線上)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
11 | 12 | 13 | 14 | 15 |
1、已知字符’A’的ASCII碼值為65,若變量x為char型,以下不能正確判斷出x為大寫字母的表達式是( )。
A、x >= ‘A’ && x = ‘Z’ B、!(x >= ‘A’ || x <= ‘Z’)
C、(x + 32) >= ‘a(chǎn)’ && (x + 32) <= ‘z’ D、x >= 65 && x <= 90
2、下列關(guān)系表達式中,結(jié)果為“假”的是( )。
A、3 + 4 >= 6 B、(3 != 4) > 2 C、(1<= 2) || 0 D、3 < 4 == 1
3、下列名稱中不能作為變量名或函數(shù)名的是( )。
A、hot_dog B、cat001 C、_pri D、2ab
4、設(shè)有定義語句int a[][3]={{0},{1},{2}};則數(shù)組元素a[1][1]的值是( )。
A、0 B、1 C、2 D、不確定
5、以下選項中,當(dāng)整型變量x為大于1的奇數(shù)時,值不為0的表達式為( )。
A、x % 2 == 0 B、x / 2 == 0 C、2 / x D、x % 2
6、以下不合法的實數(shù)是( )。
A、1. B、1.23e+4 C、3e+0.5 D、.123
7、設(shè)有變量定義為:int a=0, b=1, c=2;,則下面的表達式中,值為1的表達式是( )。
A、a && b B、a >= b C、a || c && b > c D、a || b
8、設(shè)有變量定義為:a=1, b=2, c=3, d=4;,則表達式:“a < b ? a : c<d ? a : d”的值是( )。
A、1 B、2 C、3 D、4
9、表達式“3.6 - 1 / 4 + 1.5 - 5 % 2”的值是( )。
A、2.85 B、3.1 C、4.1 D、3.85
10、表達式“2 != 3 && 3 > 2”的值是( )。
A、true B、非零值 C、真 D、1
11、可以正確表達數(shù)學(xué)關(guān)系“x≥y≥z”的C語言表達式是( )。
A、x >= y && y >= z B. (x >= y) And (y >= z)
C、x >= y >= z D. (x >= y) & (y >= z)
12、下面正確的函數(shù)原型定義是( )。
A、void func(x, y) B、void func(int x, int y)
C、int func(int, int); D、int func(int x, y);
13、設(shè)有輸入語句:scanf(“%d,%d”, &a, &b);,下面正確的輸入是( )。
A、12 34 B、12,34 C、1234 D、a=12,b=34
14、設(shè)有變量定義為:int a=10, b=20, *p=&a, *q=&b;,則printf(“%d %d”, *p, *q);的輸出結(jié)果是( )。
A、10 10 B、20 20 C、10 20 D、20 10
15、若a=3,則語句b=a++執(zhí)行后a和b的值分別為( )。
A、3、4 B、4、3 C、4、4 D、3、3
二、程序閱讀題(每小題2分,共20分,請將每小題答案填在下面對應(yīng)的橫線上)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1、下面程序段的運行結(jié)果是( )。
void main() {
int x = 10, y = 10;
printf(“%d %d\n”, x–, --y);
}
A、10 10 B、9 9 C、9 10 D、10 9
2、有以下程序:
void main() {
int s;
scanf(“%d”, &s);
while (s > 0) {
? switch (s) {
? case 1:
? printf(“%d”, s + 5);
? case 2:
? printf(“%d”, s + 4);
? break;
? case 3:
? printf(“%d”, s + 3);
? default:
? printf(“%d”, s + 2);
? break;
? }
? scanf(“%d”, &s);
}
}
運行時,若輸入1 2 3 4 5 0<回車>,則輸出結(jié)果是( )。
A、6566567 B、66656 C、66666 D、6666656
3、下列程序執(zhí)行后的輸出結(jié)果是( )。
void main() {
int i, a[6] = { 1,2,3,4,5,6 };
for (i = 5; i >= 0; i–)
? a[i] *= 10 - i;
printf(“%d %d %d”, a[1], a[3], a[5]);
}
A、9 27 45 B、30 28 18 C、18 28 30 D、19 37 55
4、下面程序段的運行結(jié)果是( )。
void main() {
int k = 11;
printf(“%d %o %X\n”, k, k + 1, k + 2);
}
A、l1 12 13 B、ll 14 13 C、l1 014 0xD D、l1 14 D
5、下面程序段的運行結(jié)果是( )。
void main() {
int a = 2, b = -1, c = 2;
if (a < b)
? if (b < 0)
? c = 0;
? else
? c++;
printf(“%d”, c);
}
A、0 B、1 C、2 D、3
6、下面程序段的運行結(jié)果是( )。
void f(int* p) {
*p = 50;
}
void main() {
int a = 10, *q;
q = &a;
f(q);
printf(“%d”, a);
}
A、10 B、50 C、15 D、0
7、下面程序段的運行結(jié)果是( )。
void swap(int a, int b) {
int t;
t = a, a = b, b = t;
}
void main() {
int x = 10, y = 20;
swap(x, y);
printf(“%d %d\n”, x, y);
}
A、20 10 B、10 20 C、不確定結(jié)果 D、程序錯誤
8、下面程序段的運行結(jié)果是( )。
void main() {
int num = 1234, s = 1;
while (num != 0) {
? s *= num % 10;
? num /= 10;
}
printf(“%d”, s);
}
A、0 B、1 C、10 D、24
9、已經(jīng)字符’A’的ASCII碼是65,以下程序的輸出結(jié)果是( )。
void main() {
double a = 5, x = 3.14;
x *= a + (‘E’ - ‘A’);
printf(“%lf\n”, x);
}
A、28.000000 B、19.000000 C、28.260000 D、19.700000
10、以下程序段的輸出結(jié)果是( )。
void main() {
for (int k = 1; k < 5; k++) {
? if (k % 2 != 0)
? printf(“#”);
? else
? printf(“*”);
}
}
A、## B、## C、#### D、****
三、填空題(每空2分,共20分,請將每小題答案填在下面對應(yīng)的橫線上)
① | ② | ③ | ④ | ⑤ | |||||
---|---|---|---|---|---|---|---|---|---|
⑥ | ⑦ | ⑧ | ⑨ | ⑩ |
1、下面程序的功能是輸入一個正整數(shù)n,并判斷它是否為素數(shù)。
int main() {
int i, n;
printf("請輸入一個大于1的正整數(shù): ");
scanf(“%d”, ① );
for (i = 2; i <= n / 2; i++) {
? if ( ② )
? ③ ;
}
if (i > n / 2 && n > 1)
? printf(“%d 是素數(shù)!\n”, n);
? ④
? printf(“%d 不是素數(shù)!\n”, n);
return 0;
}
2、下面程序的功能是求1到100中所有奇數(shù)的和,最后輸出累加和的值。
void main() {
int sum, i;
? ⑤ ;
for (i = 1; i <= 99; ⑥ )
? sum += i;
printf(“sum=%d\n”, ⑦ );
}
3、下面程序?qū)崿F(xiàn)從鍵盤上輸入10個整數(shù),求其最大值。
void main() {
int i, n, max;
scanf( ⑧ , &n);
max = n;
for (i = 1; ⑨ ; i++) {
? scanf(“%d”, &n);
? if ( ⑩ )
? max = n;
}
printf(“max=%d\n”, max);
}
四、程序設(shè)計題(每小題10分,共30分)
1、從鍵盤上輸入一個正整數(shù) n,計算并輸出下面數(shù)列前 項的和,輸出結(jié)果保留5位小數(shù)。
2、從鍵盤上輸入10個整數(shù)存入一維數(shù)組中,然后計算并輸出這10個數(shù)的最小值、最大值和平均值,其中輸出的平均值保留2位小數(shù)。
3、從鍵盤上輸入10個字符,統(tǒng)計其中的英文字母、數(shù)字、空格以及其他字符的個數(shù)。
輸入樣例:ab *1 3#(A
輸出樣例:
英文字母個數(shù):3
數(shù)字個數(shù):2
空格個數(shù):2
其他字符個數(shù):3。
《C語言程序設(shè)計》模擬試題參考答案
一、單項選擇題(每小題2分,共30分)
1—5:B B D A D 6—10:C D A C D 11—15:A C B C B
二、程序閱讀題(每小題2分,共20分)
1—5:D A C D C 6—10:B B D C A
三、填空題(每空2分,共20分)
① &n
② n%i==0
③ break
④ else
⑤ sum=0
⑥ i+=2 或者 i=i+2
⑦ sum
⑧ “%d”
⑨ i<=9 或者 i<10
⑩ max<n 或者 max<=n
四、程序設(shè)計題(每空小題10分,共30分)
1、數(shù)列前 n項和。從鍵盤上輸入一個正整數(shù) ,計算并輸出下面數(shù)列前n項的和,輸出結(jié)果保留5位小數(shù)。
參考代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-500437.html
int main() {
int i, n, b, f;
double s;
do {
printf("input n:");
scanf("%d", &n);
} while (n < 1);
f = 1, b = 1, s = 0;
for (i = 1; i <= n; i++) {
s += f * i * 1. / b;
f = -f;
b = 2 * i + 1;
}
printf("s=%.5lf", s);
return 0;
}
2、從鍵盤上輸入10個整數(shù)存入一維數(shù)組中,然后計算并輸出這10個數(shù)的最小值、最大值和平均值,其中輸出的平均值保留2位小數(shù)。
參考代碼:
int main() {
int a[10];
int i, max, min;
double avg;
printf("input 10 int:");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
avg = min = max = a[0];
for (i = 1; i < 10; i++) {
if (a[i] < min)
min = a[i];
if (a[i] > max)
max = a[i];
avg += a[i];
}
avg /= 10;
printf("max is: %d, min is: %d, avg is: %.2lf\n", max, min, avg);
return 0;
}
3、從鍵盤上輸入10個字符,統(tǒng)計其中的英文字母、數(shù)字、空格以及其他字符的個數(shù)。
輸入樣例:ab *1 3#(A
輸出樣例:
英文字母個數(shù):3
數(shù)字個數(shù):2
空格個數(shù):2
其他字符個數(shù):3文章來源:http://www.zghlxwxcb.cn/news/detail-500437.html
參考代碼:
int main() {
int a, b, c, d, i;
char ch;
a = b = c = d = 0;
for (i = 0; i < 10; i++) {
ch = getchar();
if (ch <= 'Z' && ch >= 'A' || ch <= 'z' && ch >= 'a')
a++;
else if (ch <= '9' && ch >= '0')
b++;
else if (ch == ' ')
c++;
else
d++;
}
printf("英文字母個數(shù):%d\n數(shù)字個數(shù):%d\n空格個數(shù):%d\n其他字符個數(shù):%d", a, b, c, d);
return 0;
}
到了這里,關(guān)于《C語言程序設(shè)計》模擬試題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!