C语言程序设计模拟题
更新时间:2023-05-27 21:56:01 阅读量: 实用文档 文档下载
C语言程序设计模拟题(1)
一、选择题
(1)能将高级语言程序转换成目标语言程序的是__ C____。
A)调试程序 B)解释程序 C)编译程序 D)编辑程序 (2)__A____是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程 (3)可以在C语言中用做用户标识符的是__B___。
A)void B)as_b3 C)for D)2c define _123 -abc Do WORD If cas SIG (4)若有以下类型说明语句:
char w; int x; float y, z;
则表达式w*x+z-y的结果为类型。
A)float B)char C)int D)double (5)main()
{ float x=123.456; printf("%-5.2f\n",x); }
以上程序输出的结果是_。
A)123.4 B)123.5 C)123.45 D)123.46 (6)下面语句的输出结果是___C___。 printf("%d\n",strlen("\t\"\065\xff\n"));
A)14 B)8 C)5 D)输出项不合法,无正常输出 (7)下列程序的输出结果是__B____。 main()
{ int a=0,b=0,c=0; if(++a>0| ++b>0) ++c;
printf("\na=%d,b=%d,c=%d",a,b,c); }
A)a=0,b=0,c=0 B)a=1,b=1,c=1 C)a=1,b=0,c=1 D)a=0,b=1,c=1 (8)下列程序的输出结果是__B____。 main() { int i;
for(i=1;i+1;i++)
{ if(i>4) {printf("%d",i++);break;} }
printf("%d",i++); }
A)55 B)56
C)程序错误,没有输出 D)循环条件永远为真,死循环 (9)下列程序的输出结果是___A___。 #define A 100 main()
{ int i=0,sum=0;
do{ if(i==(i/2)*2) continue; sum+=i; }while(++i<A); printf("%d\n",sum); }
A)2500 B)2050 C)4 D)0 (10)下列程序的输出结果是__D____。 main() { int i=3; switch(i) { case 1:
case 2:printf("%d",i); case 3:
default:printf("OK"); } }
A)0 B)3 C)OK D)没有任何输出 (11)下列程序执行后的输出结果是__C____。 main()
{ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,k=2; for(i=0;i<3;i++)
{ printf("%d",m[k][i]);} }
A)456 B)258 C)369 D)789
(12)设已定义i和k为int类型变量,则以下for循环语句__B____。 for(i=0;k=-1,k=1;i++,k++) printf("****\n");
A)判断循环结束的条件不合法 B)是无限循环 C)循环一次也不执行 D)循环只执行一次 (13)下面程序的输出结果是__C____。 unsigned fun(unsigned num) { unsigned k=1; do {
k*=num%10; num/=10; } while(num); return(k); } main()
{ unsigned n=26; printf("%d\n",fun(n));
A)0 B)4 C)12 D)无限次循环
(14)已知字母A的ASCII码值是65,字母a的ASCII码值是97,以下程序__C____。 main() { char a='A'; int b=20;
printf("%d,%o",(a=a+a,a+b,b),a+'a'-'A',b); }
A)表达式非法,输出零或不确定值
B)因输出项过多,无输出或输出不确定值
C)输出结果为20,141 D)输出结果为20,141,20
(15)C语言函数返回值的类型是由___D___决定的。
A)return语句中的表达式类型 B)调用函数的主调函数类型 C)调用函数时临时 D)定义函数时所指定的函数类型 (16)下列程序执行后输出的结果是__C____。
int d=1; fun(int p) { int d=5; d+=p++;
printf("%d,",d); } main()
{ int a=3;
fun(a); d+=a++;
printf("%d\n",d); }
A)8,12 B)9,13 C)8,4 D)9,5 (17)已知下面的程序段,正确的判断是_C____。
#define B(A) ((A+1)*a) int a=3; …… X=3*(A+B(7));
A)程序错误,不允许嵌套定义 B)X=93
C)X=81 D)程序错误,宏定义不允许有参数 (18)定义int *swap()指的是_B____。
A)一个返回整型值的函数swap()
B)一个返回指向整型值指针的函数swap()
C)一个指向函数swap()的指针,函数返回一个整型值 D)以上说法均错
(19)以下程序段的输出结果是__B____。 main()
{ char s1[10],s2[10],s3[10]; scanf("%s",s1);gets(s2);gets(s3); puts(s1);puts(s2);puts(s3); }
输入数据如下:(此处<CR>代表回车符) aaa<CR> bbb<CR>
A)aaa B)aaa C)aaa\0bbb\0 D)aaabbb Bbb bbb
(20)下述函数功能是__A____。 int fun(char *x) { char *y=x; while(*y++); return y-x-1; }
A)求字符串的长度 B)求字符串存放的位置
(21)以下程序的输出结果是__A____。 main()
{ char str[12]={'s','t','r','i','n','g'}; printf("%d\n",strlen(str)); }
A)6 B)7 C)11 D)12 (22)请读程序段:
char str[]="ABCD",*p=str;
printf("%d\n",*(p+4)); 程序段的输出结果是_。
A)68 B)0 C)字符’D’的地址 D)不确定的值
(23)若有定义:int a[4][10];,则以下选项中对数组元素a[i][j]引用错误的是___B___。 (0<=i<4,0<=j<10)
A)*(&a[0][0]+10*i+j) B)*(a+i)+j C)*(*(a+i)+j) D)*(a[i]+j) (24)设有以下语句:
char str1[]="string", str2[8], *str3, *str4="string"; 则__C D____不是对库函数的正确调用。
A)strcpy(str1,"HELLO1"); B)strcpy(str2,"HELLO2"); C)strcpy(str3,"HELLO3"); D)strcpy(str4,"HELLO4"); (25)请读程序: #include <stdio.h> #include <string.h> main()
{ char *s1="AbCdEf",*s2="aB"; s1++;s2++;
printf("%d\n",strcmp(s1,s2)); }
上面程序的输出结果是_。
(26)下面程序的输出是___A___。 char s[]="ABCD"; main() { char *p;
for(p=s;p<s+4;p++) printf("%s\n",p);
}
A)ABCD B) A C) D D)ABCD BCD B C ABC CD C B AB D D A A (27)以下程序输出的结果为___C___。 main()
{ char *alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}; char **p; int i; p=alpha; for(i=0;i<4;i++) printf("%s",p[i]); }
A)ABCDEFGHIJKL B)ABCD C)ABCDEFGHIJKLMNOP D)AEIM (28)下面程序的输出结果是__A____。 #include <stdio.h> main()
{ char *p[]={"BOOL","OPK","H","SP"}; int i;
for(i=3;i>=0;i--,i--) printf("%c",*p[i]);
}
A)SO B)SP C)SPOPK D)SHOB (29)以下程序的输出结果是__B____。 #include <stdio.h> void prt(int *x,int *y,int *z)
{ printf("%d,%d,%d\n",++*x,++*y,*(z++));} int a=10,b=40,c=20; main()
{ prt(&a,&b,&c); prt(&a,&b, &c); }
A)11,42,31 B)11,41,20 C)11,21,40 D)11,41,21 12,22,41 12,42,20 11,21,41 12,42,22
(30)若一个外部变量的定义形式为static int x;,那么,其中static的作用应该是__C____。 A)将变量存储在静态存储区 B)使变量x可以由系统自动初始化 C)使x只能在本文件内引用 D)使x的值可以永久保留 (31)以下程序的输出结果是__B____。 #include <stdio.h> #define SQR(x) x*x main() { int a,k=3; a=++SQR(k+1); printf("%d\n",a); }
A)8 B)9 C)17 D)20
(32)下面是对宏定义的描述,不正确的是___C___。 A)宏不存在类型问题,宏名无类型,它的参数也无类型
C)宏替换时先求出实参表达式的值,然后代入形参运算求值 D)宏替换只不过是字符替代而已
(33)已知小写字母a的ASCII码为97,大写字母A的ASCII码为65,以下程序的结果
是___C___。
main()
{ unsigned int a=32,b=66; printf("%c\n",a|b); }
A)66 B)98 C)b D)B 二、填空题(每空2分)
(1)若有定义int m=5,y=2,则执行表达式y+=y-=m*=y后,y的值为 【_____-16_________】 。 (2) 若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))
的值为 【___8.0__________】 。
(3)设有char a,b;,若要通过a&b运算屏蔽掉a中的其他位,只保留第2位和第8位(右
起为第1位),则b的二进制是 【__10000010___】 。 (4)下列程序执行后输出的结果是 【_______7__________】 。 f(int a) { static c=0; c=a+c++; return(c); } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }
(5)下面程序执行后输出的结果是 【_______2___________】 。 int m=13;
{ int m=3; return(x*y-m); } main()
{ int a=7,b=5;
printf("%d\n",fun(a,b)/m);
}
(6)下列程序执行后输出的结果是 【_______12___________】 main()
{ int arr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf("%d\n",k); }
(7)以下程序的输出结果是: 【_____1,0________】 。 main( )
{ int a[10]={1,2,3,4,5,6,7,8,9,0},*p; p=a;
printf("%d,",*p); printf("%d\n",*(p+9)); }
(8)以下函数的功能是计算s=1+1/2!+1/3!+…+1/n!,请填空。 double fun(int n) { double s=0.0, fac=1.0; int i,k=1; for(i=1;i<=n;i++)
{ 【__】 ; fac=fac/k; s=s+fac; 。
}
(9)下面程序的运行结果是 【____x=11____________】 。 main()
{ unsigned int a=0112,x; x=a>>3;
printf("x=%o",x); }
(10)函数delete(s,i,n)是作用是从字符串s中删除从第i个字符开始的n个字符,请填空。 void delete(char s[],int i,int n) { int j,k,length=0; while(s[length])
{ 【】 ; --i; j=i; }
if( 【____】 ) { k=i+n; if(i+n<=length) while(k<length) s[j++]=s[k++]; s[j]='\0'; }
(11)下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填
空。
int word(char *s) { int num=0,flag=0; while(*s)
{ if( 【___】 ==' ') flag=0;
else if( 【_____】 ){flag=1;num++}
return 【__】 ;
}
C语言程序设计模拟题(2)
一、选择题 (1)请读程序: #include <stdio.h> main( ) {
int a; float b, c;
scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d,b=%f,c=%f\n",a,b,c); }
若运行时从键盘上输入 9876543210↙,则上面程序的输出结果是__C___。 A)a=98,b=765,c=4321 B)a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0
(2)一个良好的算法由下面的基本结构组成,但不包括___D___。 A)顺序结构 B)选择结构 C)循环结构 D)跳转结构 (3)请选出以下程序的输出结果__B____。 #include <stdio.h> sub(int x,int y,int *z) { *z=y-x;} main( )
{ int a,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf("%d,%d,%d\n",a,b,c); }
A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7
(4)下面程序在屏幕上的输出是_B___。 main( ) {
printf("ab \b\b c"); }
A)ab \b\b c B)a c C)abc D)ab c
(5)若 x 是整型变量,pb 是基类型为整型的指针变量,则正确的赋值表达式是__A____。 A)pb=&x; B)pb=x; C)*pb=&x; D)*pb=*x (6)设整型数 i=5,则 printf("%d",i+++++i);的输出为_D___。 A)10 B)11 C)12 D)语法错误 (7)下面程序输出的结果是__A___。 main( ) {
int i=5,j=9,x; x=(i==j?i:(j=7)); printf("\n%d,%d",i,j);
}
A)5,7 B)5, 5 C)语法错误 D)7,5 (8)若执行下面程序时从键盘上输入 5, main( ) { int x;
scanf("%d",&x);
if(x++>5) printf("%d\n",x); else printf("%d\n",x--); }
则输出是_。
A)7 B)6 C)5 D)4 (9)若有以下定义和语句:
则值为 3 的表达式是_。
A)p+=2,*(p++) B)p+=2,*++p C)p+=3,*p++ D)p+=2,++*p
(10)设 a、b 和 c 都是 int 型变量,且 a=3、b=4、c=5,则下面的表达式中,值为 0 的
表达式是_D___。
A)'a'&&'b' B)a<=b
C)a||+c&&b-c D)!((a<b)&&!c||1) (11)以下程序运行后,输出结果是__C____。 main() {
char *d[]={"ab","cde"}; printf("%x",d[1]); }
A)cde B)字符 c 的 ASCII 码值 C)字符 c 的地址 D)出错 (12)设有如下程序 #include<stdio.h> main( ) {
int **k, *j,i=100; j=&i; k=&j; printf("%d\n",**k); }
上述程序的输出结果是_。
A)运行错误 B)100 C)i 的地址 D)j 的地址
(13)设有以下语句,其中不是对 a 数组元素的正确引用的是:__D____(其中 0≤i<10) int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;
A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i) )
#include <stdio.h> main( ) { char c[6]; int i=0;
for( ; i<6; c[i]=getchar( ),i++); for(i=0;i<6;i++)putchar(c[i]); printf("\n"); }
如果从键盘上输入: ab<回车> c<回车> def<回车>
则输出结果为 _____ 。
A)a B)a C)ab D)abcdef b b c c c d d d e f
(15)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 ___B____。 A)地址传递 B)单向值传递
C)由实参传递给形参,再由形参传递给实参 D)传递方式由用户指定 (16)以下程序 #include<stdio.h> #include<string.h> main( )
strcpy(str+2,strcat(p1,p2) ); printf("%s\n",str); }
的输出是 __。
A)xyzabcABC B)zabcABC C)yzabcABC D)xyabcABC (17)以下程序
int aa[3][3]={{2},{4},{6}}; main( )
{ int i,*p=&aa[0][0]; for (i=0;i<2;i++)
{ if(i==0) aa[i][i+1]=*p+1;
else ++p; printf("%d",*p); }
} 的输出是___。
A)23 B)26 C)33 (18)以下程序的输出结果是__C____。 #include <stdio.h> #include <string.h> fun(char *w,int n) {
char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2--; *s2=t; } D)36
main() {
char p[]="1234567"; fun(p,strlen(p)); puts(p); }
A)1234567 B)7654321 (19)下面程序 main( )
{ int x=100, a=10, b=20, ok1=5, ok2=0; if(a<b) if(b!=15) if(!ok1) x=1; else if(ok2) x=10; x=-1;
printf("%d\n",x); }
的输出是__A____。
A)-1 B)0 (20)下面程序 main( ) {
int x=32;
printf("%d\n",x=x<<1); }
的输出是__。
A)100 B)160 (21)以下程序的输出结果是__B____。 #include <stdio.h>
C)1711717 D)7177171 C)1 D)不确定的值 C)120 D)64
#define PR(a) printf("%d",(int)(a)) #define PRINT1(a) PR(a);putchar('\n') main( ) { int x=2;
PRINT1(FUDGE(5)*x); }
A)11 B)12 C)13 D)15 (22)以下程序段给数组所有的元素输入数据,请选择正确答案填入: #include <stdio.h> main( ) {
int a[10],i=0;
while(i<10) scanf("%d",___A___); : : }
A)a+(i++) B)&a[i+1] C)a+i D)&a[++i] (23)字符(char)型数据在微机内存中的存储形式是__D____。 A)反码 B)补码 C)EBCDIC 码 D)ASCII 码 (24)有以下程序,程序运行后的输出结果是__D____。 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j;
if(i>2) i=3-j; s+=b[i][j]; } return s;
{
int a[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a)); }
A)22 B)11 C)18 D)16 (25)不能把字符串"Hello!"赋给数组 b 的语句是__D____。 A)char b[10]={'H','e','l','l','o','!'}; B)char b[ ]={'H','e','l','l','o','!'}; C)char b[10];strcpy(b,"Hello!");
D)char b[10];
b="Hello!";
(26)下面程序的输出是__D____。 main( )
{ int x=3 ,y=6,a=0; while(x++!=(y-=1)) { a+=1;
if (y<x) break; }
printf("x=%d,y=%d,a=%d\n",x,y,a); }
A)x=4,y=4,a=1 B)x=5,y=5,a=1 C)x=5,y=4,a=3 D)x=5,y=4,a=1 (27)若有程序: fun(int a,int b) {
static int c=0; c+=a+b; return c;
{
int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf("%d\n",r); }
上面程序的输出结果是__。
A)23 B)15 C)19 D)18 (28)下面程序的输出是__C____。 main( )
{ char *s="12134211"; int v1=0,v2=0,v3=0,v4=0,k; for (k=0;s[k];k++) switch(s[k]) { default:v4++; case'1':v1++; case'3':v3++; case'2':v2++; }
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); }
A)v1=4,v2=2,v3=1,v4=1 B)v1=4,v2=9,v3=3,v4=1 C)v1=5,v2=8,v3=6,v4=1 D)v1=8,v2=8,v3=8,v4=8 (29)下面程序的输出是__D____。 main( ) { int k=11;
printf("k=%d,k=%o,k=%x\n",k,k,k); }
正在阅读:
C语言程序设计模拟题05-27
行政人事部门年度工作总结03-08
整式的乘法和因式分解纯计算题100道07-29
说明文六要素02-02
高二年级限时训练六04-26
可爱的波斯猫作文500字07-10
区域生态环境建设单元测试卷10-23
伊金霍洛旗政府工作报告03-16
检索研究报告范例 - 图文12-14
施工单位资质及特种作业人员资格审查表08-31
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 模拟题
- 程序设计
- 语言
- 最新四级语文下学期期末试卷(1) 苏教版精品
- 管桩施工组织设计
- 幼儿园小班家长会园长发言稿
- 住宅风水学基础知识
- 0062《教育行政学》期末考试指导
- 英语常用同义词辨析
- 实现GNS的模拟路由器连接Internet
- Flash格式视频网站建设方案
- Bioprocess Technology- Fundamentals and Applications Chapt 4_Metabolic basis
- 第五章 婴儿心理发展
- 27CrMo27S钢奥氏体连续冷却转变曲线
- 政治经济学试题及答案
- 食品安全亮点工作汇报
- PCB板EMC EMI 的设计技巧
- 【产品质量追溯】管理系统
- 中小企业创新与促进就业
- 吉林财经大学2015年硕士研究生招生简章
- 国学经典名言名句欣赏(下集)
- 中国抗战胜利70周年演讲稿
- 期货市场教程五期货期货投机与套利交易