1 、题目:从键盘上输入10个整数,输入负数不算。
-------------------------------------------------------*/ #include \main() {
int i=0,a; do {
scanf(\
/***********FILL***********/ if (_____) i++;
printf(\ }
/***********FILL***********/
while(_____); }
2 、功能:通过函数的递归调用计算阶乘。
-------------------------------------------------------*/ #include \long power(int n) {
long f; if(n>1)
/***********FILL***********/ f=_____; else f=1; return(f); }
main() {
int n;
long y;
printf(\ /***********FILL***********/ scanf(\ y=power(n);
/***********FILL***********/ printf(\}
C语言模拟题(三)
一、 选择题
1 下列变量说明语句中,正确的是()。
A、char a;b;c; B、char:a b c; C、int x;z; D、int x,z;
2 设以下变量均为int类型,则值不等于7的表达式是()。
A、(x=6,x+1,y=6,x+y) B、(x=y=6,x+y,y+1) C、(y=6,y+1,x=y,x+1) D、(x=y=6,x+y,x+1)
3 设:
long w=65535,t=7654321;
根据下面的输出结果,正确的程序段是( ). w=65535,t=7654321 end
A、printf(\B、printf(\C、printf(\D、printf(\
4 设x,y,z,t均为整型变量,则执行以下语句后,t的值为:( ) x=y=z=1;
t=++x||++y&&++z;
A、0 B、1 C、2 D、不定值
5 如果int a=2,b=3,c=0,下列描述正确的是( )。
A、a&&b>c的结果为假 B、!a!=(b!=c)表达式的值为1 C、a||(b=c)执行后b的值为0
D、a>b!=c和a>(b!=c)的执行顺序是一样的
6 从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句( )。 #include \main()
{ int min=0,a; do{
scanf(\ if(min>a) min=a; }while(___A___); printf(\
}
A、a=0 B、a==0 C、a>0&&a<0 D、a!=0
7 设有如下程序段: int k=10; while(k==0) k--;
则下述说明中正确的是( ).
A、循环体一次也不执行 B、循环体执行一次 C、死循环
D、循环体执行10次
8 static char str[10]=\数组元素个数为()。
A、6 B、9 C、5 D、10
9 函数调用:strcat(strcpy(str1,str2),str3)的功能是( )。
A、将串str1复制到串str2中后再连接到串str3之后 B、将串str2连接到串str1之后再将串str1复制到串str3中 C、将串str1连接到串str2之后再复制到串str3之后
D、将串str2复制到串str1中后再将串str3连接到串str1之后
10 C语言程序中必须有的函数是()。
A、#include \B、main C、printf D、scanf
11 程序运行结束后,屏幕上输出值为( ). static int x=10; main( ) { int x=3; f( );
x- -;
printf(\ } f( )
{ x++; }
A、10 B、2 C、11 D、3
12 file1.c中有命令,#include
A、a在file1.c中应用extern说明. B、a在file1.c中有效,不必用extern说明. C、a在file1.c中不生效
D、a在file1.c和file2.c中均不生效.
13 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()。 A、*p=*q; B、n=*q; C、p=n; D、p=q;
14、以下程序的输出结果是( ).
main()
{char str[ ]=\
A、68
B、不确定的值 C、字符D的地址 D、0
15 使用共用体变量,不可以()。 A、同时访问所有成员 B、进行动态管理 C、节省存储空间 D、简化程序设计
二、判断题
1 在C语言中,各种类型的整型数据在内存中都占2个字节。 2 表达式 (j=3, j++) 的值是4.
3 格式字符%e以指数形式输出实数数字部分小数位数7位.
4 char c[6]=\表示输出的字段的宽度为3位,如果被输出的数据
的位数大于3,只输出3位数.
5 设d=1,e=2,f=3,则逻辑表达式!(d+e)+f&&e+f*2的值为0.
6 已知a=1,b=2,c=3,d=4,则条件表达式a>b?a:(c>d?c:d)的值为4. 7 已知a=3,b=4,c=5.则逻辑表达式a+b>c && b==c值为0. 8 do-while循环由do开始,while结束,循环体可能一次也不做。
9 对于for(表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2. 10 在do-while循环中,任何情况下都不能省略while. 11 对静态变量的初始化不是在编译阶段完成的. 12 定义 int x[5],n;则x=x+n;或x++;都是正确的.
13 语句 char ch[12]={\与语句 char ch[ ]=\具有不同的赋初值
功能.
14 数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值. 15 变量根据其作用域的范围可以分作局部变量和全局变量.
16 当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区.
17 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,
所以此宏定义是错误的。
18 设有如下定义:int *p; *p=100;则 printf(\的输出结果是100. 19 使几个不同的变量共占同一段内存的结构,称为\结构体\类型.
20 在打开文件时,必须说明文件的使用方式,\表示以读/写方式打开一个二进制文件.
三、填空题
1、若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量c中的值是 _____ .
c=(a-=(b-5)); c=(a)+(b=3);
2 getchar()函数只能接收一个_____.
3 当a=1,b=2,c=3时,执行以下程序段后b=_____. if (a>c) b=a; a=c; c=b; 4 若输入字符串:abcde<回车>,则以下while循环体将执行 _____ 次.
while((ch=getchar())=='e') printf(\
5 字符串的结束标志是_____.
6 如果函数不要求返回值,可用_____来定义函数为空类型. 7 将函数funl 的入口地址赋给指针变量p的语句是_____.
8 设有以下共用体类型说明和变量定义,则变量d在内存所占字节数是 _____。 union stud
{ short int num; char name[8];float score[3]; double ave; } d,stu[3];
四、程序设计
1 、功能:用do-while语句求1~100的累计和。
------------------------------------------------*/ #include \long int fun(int n)
{
/*********Begin**********/
/********** End **********/ } main () {
int i=100;
void TestFunc();
printf(\~100的累加和为:%ld\\n\ TestFunc(); }
void TestFunc() {