本文主要是介绍C14练习题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
1.下列属于计算机中高级语言的是()
A. 机器语言
B.符号语言
C. 汇编语言
D. C语言
- 下列合法的标识符是()
A. case
B. Li_da_yong
C. 3con
D. Sa
3,以下选项中,不能作为合法常量的是()
A. 1.234e04
B. 1.234e0.4
C. 1.234e+4
D. 1.234e0
- 若已定义 x 和 y 是整型变量,x=1;,则表达式 y=2.75+x/4 的值是()
A. 3.0
B. 2.0
C. 3
D. 2
-
下面函数的功能是()
void fun(char*p2, char *pl)
{
while((*p2=*pl)!=10)})。{pl++;p2++;}A. 将p1 所指字符串复制到p2所指内存空间
B.将p1所指字符串的地址赋给指针p2
C.对pl和p2两个指针所指字符串进行比较
D.检查p1和p2两个指针所指字符串中是否有’\0’
6,若变量已正确定义,表达式(j=3,j++)的值是()
A. 3
B. 4
C. 5
D. 6
7,设ch是char型变量且为’A’,经过下面的表达式运算后ch的值是(ch=(ch>=‘A’&&ch<=Z)?(ch+32):ch;
A. A
B. a
C. z
D. z
8.有如下程序,输入数据: 12345后(表示回车), x的值是()
#include<stdio.h>
void main()
int x;
scanf(“%3d”,&x);
}
A. 12345
B. 123
C.45
D. 345
- 设有姆多定&÷ infx,-10,iz;则语句 printf(“%dn”,(iz-ix%iy,ix/īy));的输出结果是()
A. 0
B. I
C.2
D. 3
- 下列程序段的输出结果是()
#include <stdio.h>int main()
{int m, k = 0, s = 0;for (m = 1; m <= 4; m++) {switch (m % 4) {case 0:case 1:s += m;break;case 2:case 3:s -= m;k += s;printf("%d\n", k);break;}}return 0;
}
A. 10
B. -2
C. 4
D. -12
- 循环语句"for(int i=0;i<=n; i++)S;"中循环体S 被执行的次数为()
A. 1
B. n-1
C. n
D. n+1
12,执行下面的程序后变量a的值是()
#include <stdio.h>int main() {int a, b;for (a = 1, b = 1; a <= 100; a++) {if (b > 10)break;if (b % 3 == 1) {b += 3;continue;}b = 3;printf("%d\n", a);}return 0;
}
A. 5
B. 6
C. 7
D. 8
- 若有数组定义语句:int a[4][5];,则对a 数组元素的正确引用是()
A. a[4][1]
B. a[2,1]
C. a[4][5]
D. a[4-1][5-5]
- 表达式 strlen(“x69\072\n”)的值是()
A. 1
B. 2
C. 3
D. 4
- 下列对静态局部变量的叙述哪一个是不正确的()
A.静态局部变量在整个程序运行期间都不释放
B.静态局部变量是在编译时赋初值的,故它只能被初始化一次
C. 在一个函数中定义的静态局部变量可以被另一个函数使用
D.数值型静态局部变量的初值默认为
16.执行下列程序后的输出结果是()
#include <stdio.h>int a = 3;
int b = 4;void fun(int x1, int x2) {printf("%d, %d", x1 + x2, b);
}int main() {fun(a, b);return 0;
}
A. 3,4
B. 11,1
C. 11,4
D. 11,6
17,若有定义: int a[10]=(1,2,3,4,5,6,7,8,9,10),*p-&a[3],b-p[5]; ,则b的值是()
A. 5
B. 6
C. 8
D. 9
- 下列程序执行后的输出结果是()
#include <stdio.h>int main() {int a[3][3], *p, i;p = &a[0][0];for (i = 0; i < 9; i++)p[i] = i + 1;printf("%d\n", a[1][2]);return 0;
}
- 以下程序的运行结果是()
#include <stdio.h>#define M(x, y) (x - y)int main() {int a = 4, b = 3, c = 5;printf("%d", a * M(b, c));return 0;
}
A. 8
B. 7
C.编译错误
D. -8
20,当声明一个结构体变量时,系统分配给它的内存是()
A. 各成员所需内存量的总和
B. 结构中第一个成員所霜内存量
C.成员中占内存量最大者所需的容量
D.结构中最后一个成员所需内存量
二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结果填写在答题纸的相应位置上。)
#include <stdio.h>int main() {int y = 9;for (; y > 0; y--) {if (y % 3 == 0) {printf("%d\n", -y);}}return 0;
}
#include <stdio.h>int main() {int a = 0;int s[6] = {1, 3, 5, 2, 4, 6};int i, d = 0;for (i = 0; i < 6; i++) {d += s[i];}printf("%d\n", d);return 0;
}
#include <stdio.h>int f(int n) {int i, s = 0;if (n == 0 || n == 1)return 1;for (i = n - 1; i >= 0; i--)s += f(i) * f(n - 1 - i);return s;
}int main() {int i;for (i = 1; i <= 4; i++)printf("f(%d) = %d\n", i, f(i));return 0;
}
#include "stdio.h"#define SUB(X, Y) ((X) * (Y))int main() {int a = 3, b = 4;printf("%d\n", SUB(a++, b++));return 0;
}
#include <stdio.h>int counter() {static int c = 0;return ++c;
}int main() {int i;for (i = 0; i < 2; i++) {int j;c = counter();for (j = 0; j < c; j++) {printf("%d ", counter());}}return 0;
}
三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)
1.下列程序功能是:输出100-999之间的个位数字为7的所有素数之和。请填空。
#include <stdio.h>int isprime(int x) {int i, flag = 1;for (i = 2; i < x; i++) {if (x % i == 0) {flag = 0;______;_________;
}int main() {int i, s = 0;for (i = 100; i < 1000; i++) {if (i % 10 != 7) { /_________;s += i;printf("s = %d\n", s);return 0;
}
2,学校在1000名师生中发起慈善捐款,自愿募捐、款数不限,总数超过20000 (2万)元活动结束。统计参与捐款的师生人数及捐款总数(精确到角币,即保留1位小数)
#include <stdio.h>#define S 20000int main() {float x, total = 0;int i;for (i = 1; i <= 1000; i++) {scanf("%f", &x);total += x;if (total >= S) __________{printf("捐款人数 = %d\n", i);printf("总款数 =________, total);return 0;
}
- 将斐波那契数列前 20 项的值存入数组并打印,每5个值一行,请填空。
#include <stdio.h>void main() {int i, f[20] = {1, 1};for (i = 2; i < 20; i++) {f[i] =________;}for (_________) {printf("%d\n", f[i]);}
}
四、编程题(本大题共3小题,每小题15分,共45分。请在答题纸的相应位置上作答。)
1.编写程序,输入一个以回车结束的字符串(少于80个字符),过滤掉所有的非十六进制数后,组成一个新的字符串(十六进制形式),输出该字符串并将其转换成十进制后输出。
2.编写函数 int fun(char *ss, charc),它的功能是:求出 ss所指字符串中指定字符的个数,并返回此值。【要求:编写一个函数实现统计,再编写主函数调用,在主函数中输入字符串和指定字符,并传入到统计函数中】
int fun(char*ss, char c)
{}int main()
{
Teum O
}
3,下面的程序用于从键盘接收一个字符串(假设输入字符串长度在80以内),然后将自身逆置后复制到该串的末尾 遣路其补充完整。例如,ABCD",集制要成后,s=“ABCDDCBA”。输出最终的 s 中的串。【要求:p允诲使用stepystrcat0函数,用字符指针实现。】
include<stdio.h>
void main()
{
char s[81],*p,*q;}
这篇关于C14练习题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!