高考复习题(二)
一、选择题
1.可以在C语言中用做用户标识符的是_______。
A)void B)_b3 C)for D)2c
2.在C语言中,不正确的int类型的常数是________。
A)32768 B)0 C)037 D)0xAF
3.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是____
A)input x,y,z;
B)scanf(“%d%d%d”,&x,&y,&z);
C)scanf(“%d%d%d”,x,y,z); D)read(“%d%d%d”,&x,&y,&z);
4.在C语言中,整数-11在内存中的存储形式是( )
A) 1111 1111 1111 0100 B) 1000 0000 0000 1011
C) 1111 1111 1111 0101 D) 0000 0000 0000 1011
5.以下说法中正确的是_________。
A)C语言程序总是从第一个函数开始执行
B)在C语言程序中,要调用函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
6.设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是__________。
A)x=x*100+0.5/100.0
B)x=(x*100+0.5)/100
C)x=(int)(x*100+0.5)/100.0
D)x=(x/100+0.5)*100.0
7.已知int i=-10;表达式"-12<=i<=-8"的值是( )。
A) 0 B) 1 c++判断素数C) -8 D) 非零值
8.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A)(a>=0‖b>=0)&&(a<O‖b<O)
B)(a>=0&&b>=O)&&(a<0&&b<O)
C)(a+b>0)&&(a+b<=0) D)a*b>0
9.执行语句for(i=3;i++<5;);后变量i的值是_______。
A. 3 B. 4 C. 5 D. 6
10.若己定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[l]地址的
表达式是__________。
A)p+l B)a+l C)a++ D)++p
11.有以下定义,则sizeof(a)的值是________。
struct stud
{ char name[10];
char sex;
int age;
}a;
A)10 B)2 C)13 D)1
12. 有下述说明和语句,对结构体变量std中的成员age应用方式不正确是______
stuct student
{int age; int num;} std,*p=&std;
A. std.age B. p->age
C. (*p).age D. *p.age
13. #define N 2
#define Y(n) ((N+1)*n)
则执行语句z=2*(N+Y(5));后的结果是________。
A)语句有错误 B)z=34
C)z=70 D)z无定值
14.已知:char ch=’a’; int b=23; float c=4.8,d=4.2; 语句c=ch+b+c+(int)d;后,变量c和d的值是__________
A) 128.800000, 4.000000
B) 129.000000, 4.000000
C) 129.000000, 4.200000
D) 128.800000, 4.200000
15.已知:char w1[]=”abcd”,w2[]=”abcd”,则下面字符串w1,w2相比较中,正确的是_______
A)if(w1=w2) printf(“yes1”);
B)if(strcmp(w1,w2)=0) printf(“yes3”);
C) if(w1==w2) printf(“yes2”);
D)if(strcmp(w1,w2)==0) printf(“yes4”);
16.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可用的,这个变量的存储类型应该被说明为________。
A) 静态变量 B) 动态变量
C) 外部变量 D) 内部变量
17.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______
A) 地址传递 B) 单向值传递
C) 由实参传给形参,再由形参传回实参
D) 传递方式由用户指定
18.设有以下语句
char a=5,b=7,c; c=a&b<<2;
则c的二进制值是_________。
A)00010100 B)00000100
c)00000001 D)00000101
19.gets()函数的功能是为从终端________。
A)获取一个包含空格的字符串
B)获取一个不包含空格的字符串
C)获取一个字符串但尾部没有追加’\0’
D)获取一个字符
20.C语言库函数fgets(str,n,fp)的功能是_________。
A)从fp指向的文件中读取长度n的字符串存入str指向的内存
B)从fp指向的文件中读取长度不超过n-l的字符串存入str指向的内存
C)从fp指向的文件中读取n个字符串存入str指向的内 存
D)从str读取至多n个字符到文件fp
二、写出以下程序运行结果
1.以下程序的输出结果是________。
void fun(int *x, int *y)
{printf(“%d%d”,*x,*y);
*x=3;*y=4;}
main()
{int x=1,y=2;
fun(&y,&x); printf(“%d%d”,x,y);}
2.以下程序的输出结果是________。
main()
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2) printf("%d",p[i]);}
3. 以下程序的输出结果是_________。
#define A 10
main()
{ int i=O,sum=O;
do{ if(i==(i/2)*2)continue;
sum+=i;
}while(++i<A);
printf("%d\n",sum);
}
4. 以下程序的输出结果是_________。
main()
{ int i, j;
for(i=0;i<3;i++)
{ for(j=0;j<i;j++) printf(“ “);
for(j=0;j<3;j++) printf(“*”);
}
}
5.以下程序运行后的输出结果是_________
void fun(int x, int y)
{ x=x+y; y=x-y;x=x-y;
printf(“%d,%d\n”,x,y);
}
main()
{int x=2,y=3;
fun(x,y);
printf(“%d,%d\n”,x,y);
}
6. 以下程序的输出结果是__________
#include<stdio.h>
main()
{ char a[]=”123defg”,*chp=&a[6];
while(--chp>&a[0])
putchar(*chp);
}
三、将以下程序补充完整,不得增、删程序行(共22分,每空2分)
1. 以下函数用于求出一个2×4矩阵中的最大元素值。
max_value(_________)
{ int i,j,max;
max=arr[0][0];
for(i=0;i<2;i++)
for(j=0;_________;j++)
if(________>max)_________;
return(max);
}
main()
{int a[2][4]={{2,4,7,1},{5,8,3,6}};
printf(“%d”,max_value(a)); }
2.以下函数的功能是计算s=l+1/1!+l/2!+l/3!+…+l/n!,请填空.
double fun(int n)
{ double s=1.O,fac,t;
int i,k=1;
_________;
for(i=1;i<=n;i++)
{___________;
t=fac/k;
___________;
}
__________;
}
main()
{int x; scanf(“%d”,&x);
printf(“%lf ”,fun(x)); }
3.以下程序段是对一维数组随机赋予20个整型数值,对这20个数值用选择法进行从小到大排序,并输出。
#include<stdlib.h>
void sort(int*p)
{int i,j,k,temp;
for(i=0;________;i++)
{ ________;
for(j=i+1;j<20;j++)
if(p[k]>p[j]) _________;
if(________) {__________; a[i]=a[k]; a[k]=temp; }
}
}
main()
{int i,a[20];
for(i=0;i<20;i++) a[i]=random(50);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论