C程序设计技术模拟试题2含答案doc.docx
- 文档编号:3894381
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:12
- 大小:21.78KB
C程序设计技术模拟试题2含答案doc.docx
《C程序设计技术模拟试题2含答案doc.docx》由会员分享,可在线阅读,更多相关《C程序设计技术模拟试题2含答案doc.docx(12页珍藏版)》请在冰豆网上搜索。
C程序设计技术模拟试题2含答案doc
C程序设计技术模拟试题
(二)
一、单项选择题(每小题2分,共30分)
1.C语言是一种()。
(B)血向对象程序设计语言
(D)结构化程序设计语言
(A)机器语言
(C)非结构化程序设计语言
2.在一个完整的C程序中,必须要有一个()。
(A)C语句块(B)主函数
(C)预处理语句(D)数学函数
3.字符串常量,zabCd\tl23\n\\\lirz中包含的字符个数是()。
(A)11个
(C)14个
4•不能够参与自增自减(++、-)运算的数据对象是()。
(A)整型变量(B)实型变量
(D)指针变量
(C)结构体变量
5.C语言中,逻辑运算符的优先级()。
(A)高于关系运算符(B)低于关系运算符
(C)与算数运算符相同(D)与关系运算符相同
6.在C程序中,下面所列关键字不能够单独使用的是()。
(B)
(A)if
switch
(C)else(D)while
7.在C程序中,只能书写在循环体中的语句是()o
(A)break;(B)return;
(C)returnn;(D)continue;
&能够正确表达数学关系“xWO或x$100”的C表达式是()。
(A)(x<=0)OR(x>=100)(B)(x<=0)||(x>=100)
(C)(0>=x)&&(x>=100)(D)(x<=0)||(100>=x)
9.C程序中,能容纳字符串数据“TheisaString."的字符数组长度至少是()。
(A)17(B)16
(C)15(D)14
10.对自定义带参函数声明时,声明语句的参数表中()。
(A)需要考虑参数的个数和类型(B)需要考虑参数的个数和次序
(C)需要考虑参数的个数、类型和次序(D)需耍考虑参数的个数、名字和次序
11.C程序中,被调函数执行时一定能够修改主调函数中实参内容的参数类别为()。
(A)数值参数(B)数组参数
(C)指针参数(D)任意参数
12.设一C函数的头部为:
int*fu(),该函数执行后应该返回()0
(A)一个整型数据(B)一个整型数据的地址
(B)一个整数和函数名的乘积(D)—个空类型的指针
13.C程序主函数带参时,其头部的书写形式为()。
(A)voidmain(inta,char*b[])(B)voidmain(inta;char*b[])
(C)voidmain(inta,charb[])(D)voidmain(chara,int*b[])
14.在结构体类型定义屮,结构体成员的数据类型()0
(A)不能完全相同(B)必须完全相同
(C)可以相同也可以不同(D)不能是结构体类型
150.C程序屮,定义枚举数据类型时使用的关键字是()。
(A)typedef(B)struct
(C)union(D)enum
二、判断题(T表示正确,F表示错误。
每小题1分,共10分)
1.C语言的基本数据类型包括:
整型、实型和字符型。
2.在C语言的运算符中,“二”和的功能是相同的。
3.C程序中的分支结构只能使用关键字switch构成。
4.C语言屮,一个数组的所有元素必须属于同一种数据类型。
5.对于返回值类型为int的函数,不能使用函数语句的方式调用。
6.函数的数组形参本质上是一个指针参数。
7.在一个C程序中定义的全局变量,其作用域是整个程序。
8.C程序中,符号常量EOF既可以用于判断文本文件的结尾,又可以用于判断二进制文件的结尾。
9.对于一个数组元素a[9],也可以用表达式*Q+9)表示。
10.通过编译预处理命令#define可以实现文件包含预处理功能。
三、选择填空题(根据程序功能,选出正确选项。
每小题2分,共20分)
1.下而程序的功能是:
输出两个常数Z和,请选择合适选项填空完成程序。
#inelude
voidmain()
{
printf(,z\nz,,10+100.123);
}
(A)%f(B)%d
(C)%x(D)%u
2.下面程序的功能是:
求两个实型数据之和的平方根,请选择合适选项填空完成程序。
#inelude
#include<>
voidmainO
{doublea,b;
scanf(〃%lf,%lf〃,&a,&b);
printfsqrt(a+b));
}
(A)string,h(B)stdlib.h
(C)math,h(D)mathematics,h
3.下面程序的功能是:
求出一个5位整数的最高位数字,请选择合适选项填空完成程序。
#inelude
voidmainO
{inta=98765;
printf(〃%d\rT,);
}
(A)a%10000(B)a/10000
(C)a%10(D)a/10
4.下面程序的功能是:
求实型变量b的小数部分,请选择合适选项填空完成程序。
^include
voidmain()
{doubleb;
scanf("%lf",&b);
printf;
}
(A)b%(int)b(B)(int)b/b
(C)(int)b-b(D)b-(int)b
5.下面程序实现数据符号判断功能:
当x值为0时输出0值;当x是正数是输出1;当x是负数是输出-1,请选择合适选项填空完成程序。
^include
voidmain()
{intx;
scanf("%d",&x);
if(x==0)
printf(〃%d\rT,0);
(x<0)
printf("%d\n",T);
else
printf(“%d\rT,1);
(C)else(D)ifelse
6.下面程序的功能是:
挑选输入流中的数字字符按序组成整数(例如输入流为ab3c5g8,获取的整数为358),请选择合适选项填空完成程序。
^include
voidmain()
{charc;
intn二0;
while((c=getchar())!
='\n)
if()
n二n*10+c-'O';
printf(〃n二%d\n",n);
}
(A)c>=O'&&cU'9'(B)c>'0,&&c〈'9'
(C)c>=0&&c<=9(D)c>'0'||c〈'9'
7.下面程序的功能是:
统计所有3位数中能够被3整除且末位数字为5的数据个数,请选择合适选项填空完成程序。
#inelude
voidmainO
{intn,d,count二0;
for(n=100;n {d=n%10; if() count++; } printf(,zcount=%d\n",count); } (A)n%3&&d==5(B)n%3==0&&d=5 (C)n%3二0&&d二二5(D)n%3==0&&d==5 8.下而程序的功能是: 在一个新建的文本文件“data.txt”中写入10个大写英语字母A,请选择合适选项填空完成程序。 #inelude #include voidmainO {voidwritechar(charc); inti; for(i=0;i<10;i++) writechar('A'); voidwritechar(charc){FILE*f; f=fopen(); if(f==NULL) exit (1); fputc(c,f); } (A)z,data.txt","a"(B)data,txt,a (C)"data,txt","w"(D)data,txt,w 9.下面程序的功能是: 输出两个字符串的内容,请选择合适选项填空完成程序。 ^include voidmain() {char*sl二"Thisisateststring.,z; char*s2二"Doyouunderstand."; char*a[]={sl,s2}; char**p二a; inti; for(i=0;i<2;i++) {while(! =,\05) {putchar(**p); (*p)++; } printf("\n"); p++; } } (A)**a(B)*a (C)**p(D)*p 10.下面程序的功能是: 将a数组的所有元素颠倒存放并输出,请选择合适选项填空完成程序。 ^include #defineSwap(x,y){intt;t=x,x=y,y=t;} voidmainO {inta[5]={l,2,3,4,5},i,j; for(i=0,j=4;i Swap(); printfC数据颠倒后的a数组值序列: \n〃); for(i=0;i<5;i++) printf(,/%2d,/,a[i]); printf("\n"); (D)a[i],a[j] (C)*a+i,*a+j 四、阅读程序,写出屏幕输出结果(每小题5分,共20分) 1.仔细阅读程序,写出程序的执行结果。 ^include voidmain() {voidfun(int*x,int*y); intx=l,y=2; fun(&y,&x); printfC%d%d\n",x,y); } voidfun(int*x,int*y) {printf(/z%d%d",*x,*y); *x=3; *y=4; } 2.仔细阅读程序,写出程序的执行结杲。 #inelude inta,b,c,d; voidp(inta,intb) {staticintc; a++,b++; c-=l,d+=l; if(a<3) {P(a,b); printf(z/%d,%d,%d,%d\rT,a,b,c,d); } } voidmdin() { p(a,b); } 3.仔细阅读程序,写出程序的执行结果。 #inelude voidmain() {voidreverse(char*s); charsi[100]=,,abcdefGGG,/; reverse(si); printf("\rT); voidreverse(char*si) {charc; if(*sl='\0') printf("%s","End"); else {c=*sl; reverse(++sl); if(c>=,a'&&c<=,z) printfc-(,a'-'A')); else printfc+('a'-'A')); } } 4.仔细阅读程序,写出程序的执行结果。 #inelude #inelude voidmainO {voidfu(char*s); charstr[100]=,zABCDefgl23hijKLM456nopzz; fu(str); puts(str); } voidfu(char*s) {while(*s) {if(*s<'A'||*s>'Z') strepy(s,s+1); else s++; } } 五、程序设计题(每小题10分,共20分) 1.按2行3列的形式排列数字1〜6,要求每个位置的数字均不相同,并且左边的数字比右边的大、上边的数字比下边的大;请编写程序输出所有可能的排列方法。 2.函数pack的原型为: voidpack(char*s);,其功能是将字符串s中的所有重复字符删除,使得串中的每个字符保证惟一。 测试用主函数如下所示,请编制函数packo #include voidmain() voidpack(char*s); charstr[100]; gets(str); pack(str); puts(str); c程序设计技术模拟试题 (二)参考答案 一、单项选择题(每小题2分,共30分) DBACBCDBACBBACD 二、判断题(T表示正确,F表示错误。 每小题1分,共10分) TFFTFTFFTF 三、选择填空题(根据程序功能,选出正确选项。 每小题2分,共20分) ACBDBADACD 四、阅读程序,写出屏幕输出结果(每小题5分,共20分) 1.2143 2.2,2,-3,3 1,1,-3,3 3.EndgggFEDCBA 4.ABCDKLM 五、程序设计题(每小题10分,共20分) 1.参考程序一 ^include voidmain() {inta,b,c,d; for(a=2;a<=5;a++) for(b二2;bU5;b++) for(c=2;c<=5;c++) for(d=2;d<=5;d++) if(i±〉b&&c〉d&&8〉d&&a! 二b&&a! —c&&ci! 二d&&b! =c&&b! =d&&c! —d)printf(,z%d%d%d\n%d%d%d\n\n",6,a,b,c,d,1); } 1.参考程序二 ^include voidmain() {inta,b,c,d; for(a=2;a<=5;a++) for(b二2;bU5;b++) for(c=2;c<=5;c++)for(d=2;d<=5;d++) if(a>b&&c>d&&a>d&&a! =c&&b! =c&&b! =d)printf(,z%d%d%d\n%d%d%d\n\n",6,a,b,c,d,1); } 2.参考程序一 voidpack(char*s) {inti,j,k; for(i=0;s[i];i++) for(j=i+l;s[j];j++) if(s[i]==s[j]) {for(k=j;s[k];k++) s[k]二s[k+l]; i—; } } 2.参考程序二 #inelude voidpack(char*s) {char*p; while(*s) {while(p=strchr(s+1,*s)) strepy(p,p+1); s++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 技术 模拟 试题 答案 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)