c模拟题7.docx
- 文档编号:27530537
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:16
- 大小:19.35KB
c模拟题7.docx
《c模拟题7.docx》由会员分享,可在线阅读,更多相关《c模拟题7.docx(16页珍藏版)》请在冰豆网上搜索。
c模拟题7
单选
1、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(C)。
A、x+n=I;
B、x==5;
C、x=n/2.5;
D、5=x=4+1;
2、下述错误的C语言常量是:
(C).
A、0xf
B、5.
C、090
D、.25
3、根据下面的程序,使a=123,c1='o',c2='k'哪一种是正确的键盘输入方法?
(B)。
(规定用字符串[CR]表示回车,U表示空格)
main()
{inta;
charc1,c2;
scanf("%d%c%c",&a,&c1,&c2);
}
A、123UoUk[CR]
B、123ok[CR]
C、123Uok[CR]
D、123oUk[CR]
4、已知键入a=4,b=3,执行下面程序输出的结果是(B).
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a>b)s=b;
s=s*s;
printf("%d\n",s);
}
A、13
B、9
C、16
D、15
5、执行下面程序段后,i的值是(A).
inti=10;
switch(i)
{case9:
i+=1;
case10:
i--;
case11:
i*=3;
case12:
++i;
}
A、28
B、10
C、9
D、27
6、以下不是无限循环的语句为(D)。
A、while
(1){x++;}
B、for(;;x++=i);
C、for(i=10;;i--)sum+=i;
D、for(y=0,x=1;x>++y;x=i++)i=x;
7、下面程序段运行的结果是(A).
x=-1;
do{
x=x*x;
}while(!
x);
A、循环执行一次
B、有语法错误
C、死循环
D、循环执行两次
8、若有说明:
inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是(A)。
A、3
B、无确定值
C、4
D、2
9、若定义inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;
则数值为4的表达式是(D).
A、a[4]
B、a[g-c]
C、a['d'-'c']
D、a['d'-c]
10、
以下叙述中正确的是(C)。
A、可以在一个函数中定义另一个函数
B、main()函数必须放在其它函数之前
C、构成C程序的基本单位是函数
D、所有被调用的函数一定要在调用之前进行定义
11、下述函数的功能是(C).
intfun(char*x)
{char*y=x;
while(*y++);
returny-x-1;
}
A、比较两个字符串的大小
B、求字符串存放位置
C、求字符串的长度
D、将字符串x连接到字符串y后面
12、在执行"文件包含"命令时,下列说法正确的是(A).
A、作为一个源程序编译,得到一个目标文件.
B、一个include命令可指定多个被包含文件.
C、在编译时作为两个文件联结.
D、被包含的文件可以是源文件或目标文件.
13、在说明语句:
int*f();中,标识符f代表的是(A)。
A、一个返回值为指针型的函数名
B、一个用于指向函数的指针变量
C、一个用于指向一维数组的行指针
D、一个用于指向整型数据的指针变量
14、下面程序的输出结果应该是(B).
chars[]="ABCD";
main()
{char*p;
for(p=s;p
printf("%s",p);
}
A、DCBA
B、ABCDBCDCDD
C、ABCDABCABA
D、ABCD
15、设有如下定义:
structsk{inta;floatb;}data,*p;
若要使p指向data中的a域,正确的赋值语句是(C)。
A、p=(structsk*)data.a;
B、*p=data.a;
C、p=&data.a;
D、p=&data,a;
判断
1、在C程序中,%作为运算符时,是只能用于整数运算。
T
2、若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。
T
3、格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.F
4、整型变量在全部范围内可以用字符格式输出.F
5、已知a=3,b=4,c=5,则逻辑表达式!
(a+b)+c-1&&b+c/2的值为0.F
6、语句if(a>b)printf("%d",a);elseprintf("%d",b);可以用条件表达式a>b?
a:
b取代.F
7、已知a=4,b=2,c=3,d=5,表达式a>b?
a:
c c: d的值为4.T 8、for循环的三个表达式都可以省略.T 9、continue语句对于while和do-while循环来说,意味着转去计算While表达式.T 10、for语句的循环体至少执行一次.F 11、语句charch[12]={"CProgram"};与语句charch[]="CProgram";具有不同的赋初值功能.T 12、定义chars[9];gets(s);若输入的字符串是Turboc↙(↙代表按回车键操作)则输入给数组s中的字符个数是7.T 13、对静态数组的初始化是在编译阶段完成的.T 14、C语言中,通过函数调用只能获得一个返回值.F 15、字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.F 16、函数的返回值可以通过函数中的return语句获得。 T 17、被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.F 18、char*p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。 F 19、对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。 T 20、用fopen("file","r+");打开的文件"file"可以进行修改。 T 填空 1、设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____.0 2、以下程序的输出结果为_____,#include"stdio.h"main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}9,10 3、设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=! (a+b)+c-1&&b+c/2后,t的值是_____.1 4、若输入字符串: abcde<回车>,则以下while循环体将执行_____次.0while((ch=getchar())=='e')printf("*"); 5、若有以下数组a,数组元素: a[0]~a[9],其值为941282107513该数组的元素中,数值最小的元素的下标值是_____.8 6、函数不可以进行嵌套定义,但可以进行嵌套_____.调用 7、在c程序中,只能给指针变量赋NULL值和_____值.地址 8、设有以下共用体类型说明和变量定义,则变量a在内存所占字节数是_____。 unionstud{charnum[6];floats[4];doubleave;}a,*p;16 程序设计 1、 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 ------------------------------------------------*/ #include"string.h" #include"stdio.h" voidchange(charstr[]) { /*********Begin**********/ inti; for(i=0;str[i]! ='\0';i++) if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32; /**********End**********/ } main() { voidchange(); charstr[40]; voidTestFunc(); gets(str); change(str); puts(str); TestFunc(); } voidTestFunc() { FILE*IN,*OUT; chari[200]; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFileError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFileError"); } fscanf(IN,"%s",i); change(i); fprintf(OUT,"%s\n",i); fclose(IN); fclose(OUT); } 2、 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 例如: 当s中的数为: 7654321时,t中的数为: 642。 ------------------------------------------------*/ #include"stdio.h" longfun(longs,longt) { /*********Begin**********/ longsl=10; s/=10; t=s%10; while(s>0) {s=s/100; t=s%10*sl+t; sl=sl*10; } /**********End**********/ returnt; } main() { longs,t,m; voidTestFunc(); printf("\nPleaseenters: ");scanf("%ld",&s); m=fun(s,t); printf("Theresultis: %ld\n",m); TestFunc(); } voidTestFunc() { FILE*IN,*OUT; intn; longi,t,m; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFileError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFileError"); } for(n=0;n<5;n++) { fscanf(IN,"%ld",&i); m=fun(i,t); fprintf(OUT,"%ld\n",m); } fclose(IN); fclose(OUT); } 程序改错 1、 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半, 还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉 一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一 半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。 求第一天共摘了多少。 ------------------------------------------------------*/ #include"stdio.h" main() { intday,x1,x2; day=9; /**********ERROR**********/ x2==1;//x2=1; while(day>0) { /**********ERROR**********/ x1=(x2+1)/2;//x1=(x2+1)*2; x2=x1; /**********ERROR**********/ day++;//day--;day-=1;day=day-1; } printf("thetotalis%d\n",x1); } 2、 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 将s所指字符串的反序和正序进行连接形成一个新串放在 t所指的数组中。 例如: 当s所指的字符串的内容为"ABCD"时,t所指数组中 的内容为"DCBAABCD"。 ------------------------------------------------------*/ #include"conio.h" #include"stdio.h" #include"string.h" /**********ERROR**********/ voidfun(chars,chart)//voidfun(chars[],chart[])voidfun(char*s,char*t) //voidfun(char*s,chart[])voidfun(chars[],char*t) { inti,d; /**********ERROR**********/ d=len(s);//d=strlen(s); /**********ERROR**********/ for(i=1;i //for(i=0;i<=d-1;i++)for(i=0;d-1>=i;i++) t[i]=s[d-1-i]; for(i=0;i t[d+i]=s[i]; /**********ERROR**********/ t[2*d]='/0';//t[2*d]='\0';t[2*d]=NULL;t[2*d]=0; //t[i+d]='\0';t[i+d]=NULL;t[i+d]=0; } main() { chars[100],t[100]; printf("\nPleaseenterstringS: "); scanf("%s",s); fun(s,t); printf("\nTheresultis: %s\n",t); } 程序填空 1、 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目: 从键盘上输入10个整数,输入负数不算。 -------------------------------------------------------*/ #include"stdio.h" main() { inti=0,a; do { scanf("%d",&a); /***********FILL***********/ if(_____)i++;//a>=0 printf("\na=%d,i=%d",a,i); } /***********FILL***********/ while(_____);//i<10i<=9 } 2、 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 通过函数的递归调用计算阶乘。 -------------------------------------------------------*/ #include"stdio.h" longpower(intn) { longf; if(n>1) /***********FILL***********/ f=_____;//power(n-1)*npower(n-1)*nn*power(n-1) else f=1; return(f); } main() { intn; longy; printf("inputainteagernumber: \n"); /***********FILL***********/ scanf("%d",_____);//&n y=power(n); /***********FILL***********/ printf("%d! =%ld\n",n,_____);//ypower(n) }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟