一、单选题
1.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。
A.空格或逗号 B.逗号或回车
C.逗号或分号 D.空格或回车
2.逻辑表达式(x>0 && x<=10)的相反表达式为(A)。
A.x<=0 || x>10 B.x<=0 && x>10
C.x<=0 || x<=10 D.x>0 && x>10
3.当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。
A.for B.while C.do-while D.switch
4.假定i的初值为0,则在循环语句“while(i<n) {s+=i*i; i++;}”中循环体被执行的总次数为(B)。
A.n-1 B.n C.n+1 D.n/2
5.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(C)。
A.2 B.4 C.6 D.8
6.在下列选项中,不正确的函数原型格式为(C)。
A.int Function(int a); B.void Function (char);
C.int Function(a); D.void int(double* a);
7.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(C)个字节。
A.1 B.2 C.4 D.8
8.假定有定义为“int m=7, *p;”,则给p赋值的正确表达式为(B)。
A.p=m B.p=&m C.*p=&m D.p=*m
9.假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为(A)。
A.free(p) B.delete(p) C.free(*p) D.free(&p)
10.C语言中的系统函数fopen()是( D)一个数据文件的函数。
A.读取 B.写入 C.关闭 D.打开
二、填空题
1. 在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为#include。
2. 用于从键盘上为变量输入值的标准输入函数的函数名为scanf 。
3. 假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则ac的值为_1 。
4.double类型的长度为_8_。
5. 执行“int x=45,y=13;printf("%d",x/y);”语句序列后得到的输出结果为_3_。
6. 表达式x=x+y表示成复合赋值表达式为 x+=y 。
7. 假定x=5,则执行“a=(!x? 10: 20);”语句后a的值为_20_。
8. 假定一维字符指针数组的定义为“char* a[8];”,则该数组占用的存储空间的字节数为_32_。
9. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在_0~M-1 之间。
10. 空字符串的长度为_0_。
11. 在函数外定义的变量,若没有被初始化则系统隐含对它所赋的初值为 0_。
12. 若p指向x,则 *p 与x的表示是等价的。
13. 与结构成员访问表达式(*fp).score等价的表达式为 fp->score 。
三、写出下列每个程序运行后的输出结果
1. #include<stdio.h>
void main() {
int x=5;
switch(2*x-1) {
case 4: printf("%d ",x); break;
case 7: printf("%d ",2*x); break;
case 10: printf("%d ",3*x); break;
default: printf("%s ","default"); }
printf("%s/n","switch end."); }
运行结果:default switch end.
2. #include<stdio.h>
void main() {
int f1,f2,i;
f1=1;
printf("%d ",f1);
for(i=2;i<=5;i++) {
f2=3*f1+1;
printf("%d ",f2);
f1=f2; }
printf("/n"); }
运行结果: 1 4 13 40 121
3. #include<stdio.h>
void main() {
int a[10]={12,39,26,41,55,63,72,40,83,95};
int i, i1=0, i2=0;
for(i=0;i<10;i++)
if(a[i]%2==1) i1++; else i2++;
printf("%d %d/n",i1,i2); }
运行结果:6 4
4. #include<stdio.h>
#include<string.h>
void main( ) {
char s[15]="567891234";
int i, n=strlen(s) ;
for(i=0; i<n/2; i++) {
char c=s[i];
s[i]=s[n-1-i];
s[n-1-i]=c; }
printf("%s/n",s); }
运行结果:432198765
5. #include<stdio.h>
int LB(int *a, int n) {
int i,s=1;
for(i=0;i<n;i++) s*=*a++;
return s; }
void main() {
int a[]={1,2,3,4,2,4,5,2};
int b=LB(a,4)+LB(a+3,3);
printf("b=%d/n",b); }
运行结果: b=56
6. #include<stdio.h>
void main() {
int i, s=0;
for(i=1;;i++) {
if(s>30) break;
if(i%2==0) s+=i; }
printf("s=%d/n",s); }
运行结果:s=42
7. #include<stdio.h>
void main() {
int a[9]={36,25,48,24,55,40,18,66,20};
int i, b1, b2;
b1=b2=a[0];
for(i=1; i<9; i++) {
if(a[i]>b1) b1=a[i];
if(a[i]<b2) b2=a[i]; }
printf("%d %d/n",b1,b2); }
运行结果:66 18
8. #include<stdio.h>
void SB(char ch) {
switch(ch) {
case 'A': case 'a':
printf("WW "); break;
case 'B': case 'b':
printf("GG "); break;
default:
printf("BB "); break; } }
void main() {
char a1='a',a2='B',a3='f';
SB(a1);SB(a2);SB(a3);
printf("/n"); }
运行结果:WW GG BB
9. #include<stdio.h>
#define M 6
void main() {
int i,x;
int a[M]={10,15,22,37,46,58};
for(i=0; i<M/2; i++)
{x=a[i]; a[i]=a[M-1-i]; a[M-1-i]=x;}
for(i=0; i<6; i++) printf("%d ",a[i]);
printf("/n"); }
运行结果:58 46 37 22 15 10
10. #include<stdio.h>
struct Worker {
char name[15]; int age; float pay; };
void main() {
struct Worker x={"wanghua",52,2350};
struct Worker y, *p;
y=x; p=&x;
printf("%d %7.2f/n", y.age+p->age, p->pay+20); }
运行结果:104 2370.00
五、按题目要求编写程序或函数
1. 编写一个程序,输出50以内(含50)的、能够被3或者5整除的所有整数。
程序为:#include<stdio.h>
void main() {
int i;
for(i=3; i<=50; i++)
if(i%3==0 || i%5==0) printf("%d ",i);
printf("/n"); }
2. 编写一个递归函数“int FF(int a[], int n)”,求出数组a中所有n个元素之积并返回。
程序为: int FF(int a[], int n){
if(n<=0) {printf("n值非法/n"),exit(1);}
if(n==1) return a[n-1];
else return a[n-1]*FF(a,n-1); }
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
2022广东高考志愿填报规则及注意事项04-27
怎样提高语文成绩的几点体会04-27
学好语文不再愁的十条规律04-27
两招破解高中语文里的古诗鉴赏04-27
高中学好语文的方法和技巧04-27
学好语文重在“积累”04-27
高一语文基本知识学习方法04-27