C语言程序设计试题与答案-4
4试题 c语言试题以及答案
第9题:只有在使用时才为该类型变量分配内存的存储类说明是 auto和 static
参考答案:错
对
错
第10题:在C语言中,合法的长整型常数是216D
参考答案:错
对
错
--------------------------------------------------------------------------------
str1[I]=’ ’;
str1[strlen(str1)-1]='\0';
}
}
A)、
*******
*****
***
*
B)、
*******
*****
***
*
C)、
*******
*****
#include <stdio.h>
#include <string.h>
void main()
{ char str1[ ]="*******";
for(int I=0;I<4; I++)
{
printf("%s\n",str1);
三、程序填空题
第1题:
读入一批正整数(以零或负数为结束标志),输出其中的素数。函数prime( int m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。请为程序填空。
#include <stdio.h>
#include <math.h>
printf("%c,%d,%c,%d\n", c1,c1,c2,c2);
C语言程序设计习题集第4章 循环结构(答案)
第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是(A)A)无限次B)有语法错,不能执行C) 一次也不执行D)执行1次2、t为int类型,进入下面的循环之前,t的值为0while(t=1){ …… }则以下叙述中正确的是(B)A) 循环控制表达式的值为0B)循环控制表达式的值为1C) 循环控制表达式不合法D)以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D)m!=14、有以下程序,程序运行后的输出结果是(C).main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D ).main(){int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n-—;printf(“%d",n);}}该程序段的输出结果是(B)A)987 B) 876 C) 8765 D) 98767、以下程序的输出结果是(B)main(){int num= 0;while(num<=2){num++;printf(“%d\n”,num);}}A) 1 B) 1 C)1 D)l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车〉,则输出的结果是( B)。
main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1。
0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2。
2019-北京理工大学-成教-《c语言程序设计》期末测试卷(4)
[试题分类]:C语言程序设计1.下列叙述中,错误的是A. 一个C语言程序必须有且只有一个主函数B. C语言程序的注释必须位于语句之后C. 一个C语言程序可以有多个函数D. C语言程序的基本结构是函数答案:B题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,所有符号均为C语言关键字的选项是A. enum,ifB. include,elseC. scanf,structD. continue,repeat答案:A题型:单选题知识点:第2章 C语言概述难度:13.下列选项中,可以正确表示字符型常数的是A. 297B. "a"C. "\n"D. '\t'答案:D题型:单选题知识点:第3章数据类型与运算规则难度:14.下列C语言运算符中,要求操作数必须是int类型的是A. ++B. --C. %D. /答案:C题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int w=1,x=2,y=3,z=4;”,则条件表达式“w>x w : y<z y : z”的结果是A. 4B. 3C. 2D. 1答案:B题型:单选题知识点:第3章数据类型与运算规则难度:26.若有定义“int x;”,则执行完逗号表达式“(x=4*5,x*5),x+25”后,变量x的值是A. 20B. 100C. 45D. 125答案:A题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int i=-1,j=1;”,则执行下列语句后的输出结果是if((++i<0) && !(j--<0))printf("%d %d\n",i,j);else printf("%d %d\n",j,i);A. -1 1B. 0 0C. 0 1D. 1 0答案:D题型:单选题知识点:第5章选择结构的程序设计难度:28.下列叙述中,错误的是A. 循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环B. 循环语句中使用break语句是为了使流程跳出循环体,提前结束循环C. switch语句中使用break语句或continue语句的作用是相同的D. break语句不能用于循环语句和switch语句以外的其他语句答案:C题型:单选题知识点:第5章选择结构的程序设计难度:29.若有定义“int x=10,i;”,则下列语句执行后的结果是for (i=0; x>8; ) printf ("%d ",--x);A. 10 9B. 9 8C. 死循环D. 语句错误答案:B题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=0;”,则执行语句“while(n<=2) printf("%d", ++n);”后的输出结果是A. 01B. 12C. 012D. 123答案:D题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=1,y=10;”,则执行下列语句后变量x的值是do \{y-=x; x++;\} while(y--<0);}A. 8B. 5C. 2D. -4答案:B题型:单选题知识点:第6章循环结构的程序设计难度:212.下列对字符数组str的定义、初始化或赋值语句中,正确的是A. char str[ ]={"Hello Ice!"};B. char str[10]; str={"Hello Ice!"};C. char str[10]; strcpy(str, "Hello Ice!"};D. char str[10]={"Hello Ice!"};答案:A题型:单选题知识点:第7章数组难度:113.{若有定义“int aa[3][3]=\{1,2,3,4,5,6,7,8,9\},i;”,则执行下列语句后的输出结果是 for(i=0;i<3;i++)printf("%d,",a[2-i][i]);}A. 9,5,1,B. 9,4,1C. 7,5,3,D. 7,6,1,答案:C题型:单选题知识点:第7章数组难度:214.C语言中,确定函数返回值类型的是A. 调用该函数时由系统默认B. 调用该函数时的主调函数C. return语句中的表达式D. 定义该函数时指定答案:D题型:单选题知识点:第8章函数难度:115.函数调用语句“fun(x1,x2+x3,(x4,x5));”中包含的实参个数是A. 3B. 4C. 5D. 有语法错误答案:A题型:单选题知识点:第8章函数难度:116.若有定义“int a[5],*p=a;”,则下列选项中,对数组a中元素引用正确的是A. *&a[5]B. *(a+2)C. *(p+5)D. a+2答案:B题型:单选题知识点:第9章指针难度:217.{执行下列语句序列后的输出结果是int arr[ ]=\{1,2,3,4,5\}, *ptr=arr;*(ptr+2)+=2; printf("%d,%d",*ptr,*(ptr+2));}A. 3,5B. 1,3C. 2,4D. 1,5答案:D题型:单选题知识点:第9章指针难度:218.{若有定义“enum color \{red, yellow=2, blue, white, black\} c1;”,则执行语句“printf("%d", c1=white);”后的输出结果是}A. 4B. 3C. 2D. 1答案:A题型:单选题知识点:第10章结构、联合与枚举类型难度:219.当定义一个结构体变量时,系统为它分配的内存空间是A. 结构体中占内存容量最大成员所需内存容量B. 结构体中任意一个成员所需内存容量C. 结构体中各成员所需内存容量之和D. 结构体中第一个成员所需内存容量答案:C题型:单选题知识点:第10章结构、联合与枚举类型难度:220.已知函数调用“fread(buffer, size,count, fp);”,其中fp代表的是A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项答案:B题型:单选题知识点:第11章文件难度:121.字符串"\"EOF\n=-\61\""的长度是。
C语言试题及答案
《C语言程序设计》试题四一.单项选择题1.运算符___________的优先级最高。
A.[ ]B.+= C.?: D.++2.main( ){ int n;( n=6*4,n+6),n*2;printf(―n=%d\n‖,n); }此程序的输出结果是______________.A.30 B. 24 C.60 D. 483.若有如下定义,则__________是对数组元素的正确的引用。
.int a[10] , *p ;p=a ;A. *&a[10]B.a[11] C. *(p+11) D. *p *p *p4.设整型变量n的值为2,执行语句―n+=n-=n*n;‖后,n的值是__________A. 0B. 4C. - 4D. 25.各种基本数据类型的存贮空间正确的长度排列为__________。
A.Char<long<int<float<do ubleB.Double<float<long<int< charC.Char<int<long<float<do ubleD.Float<int<long<char<do uble 6.下面的变量说明中_____________是正确的。
A.char:a, b, c;B.char a; b; c; C.chara, b, c; D.char a, b, c7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。
A9 B 8C 15 D. 18.若x=5,y=3 则y*=x+5; y的值为_______________.A. 10B. 20C. 15D. 309.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。
A.a>=0||b>=0)&&(a<0||b<0) B.(a>=0 &&b>=0)&&(a<0 && b<0)C.(a+b>0) &&(a+b<=0)D.a*b>010.C语言中,合法的字符型常数是_________。
国开作业《C语言程序设计-形考任务》 (4)
题目:假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。
选项A:1选项B:2选项C:4选项D:8答案:4题目:假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。
选项A:a[i]选项B:*a++选项C:*a选项D:*(a+1)答案:*a++题目:用calloc函数创建具有10个整型元素的一维数组的正确语句是()。
选项A:int *p=calloc(10,2);选项B:int *p=calloc(10);选项C:int *p=calloc(10,4);选项D:int *p=malloc(10)答案:int *p=calloc(10,4);题目:假定变量m定义为“int m=7;”,则下面正确的语句为()。
选项A:int p=m;选项B:int *p=m;选项C:int p=*m;选项D:int *p=m;答案:int *p=m;题目:假定k是一个double类型的变量,则定义变量p的正确语句为()。
选项A:double p=k;选项B:int *p=k;选项C:double p=*k;选项D:char *p="Thank you!";答案:char *p="Thank you!";题目:在下面的函数声明语句中,存在着语法错误的是()。
选项A:AA(int a, int b)选项B:AA(int, int)选项C:AA(int a; int b)选项D:AA(int a, int)答案:AA(int a; int b)题目:在下面的保留字中,不能作为函数的返回值类型的是()。
选项A:void选项B:int选项C:enum选项D:long答案:enum题目:若有语句为“int a[10], x, *pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为()。
选项A:x=pa[3];选项B:x=*(a+3);选项C:x=a[3];选项D:x=*pa+3;答案:x=*pa+3;题目:假定有语句为“int b[10]; int *pb;”,则下面不正确的赋值语句为()。
C语言 程序设计基础试题四及答案
《程序设计基础》考试试卷四班级姓名学号一、选择题(每题1分,共20分)题号一二三四五总得分评卷人审核人得分1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char3.设有以下定义int a=0; double b=1.25; char c=’A’; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;4.有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;5.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 26. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,37.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;8.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.09.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口10.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确11.下列关于switch和break语句的讨论中,只有()是正确的。
《C语言程序设计》教材习题答案第4章
if(++n<10) printf("%d\n",n);
else printf("%d\n",--n);
}
3、若a、b、c1、c2、x、y均是整形变量,正确的switch语句是D
switch(a-b)
{default:y=a*b;break;
case 3:
case 10:y=a-b;break;
{
day+=a[ai][i];
}
day+=d;
printf("这是该年的弟%d天\n",day);
}
7、输入一个字符,判断输入字符的种类,即区分空格、回车、数字字符、英文字母和其他字符(要求分别用if…else if和switch语句编写)。
#include<stdio.h>
void main()
{
else x=6;
else x=7;
12、有如下程序段
int a=14,b=15,x;
char c='A';
x=(a&&b)&&(c<'B');
执行该程序段后,x的值为D 1
13、有如下程序段
int score=5;
switch(score)
{
case 5:printf("very good!");
case 4:printf("Good!");
default:printf("data error!");
}
程序输出结果为D Very good! Good! Data error!
C语言试题四
}
main()
{f(123456);}
9•以下程序运行时输出结果的第一行是(9);第二行是(10)。
#include<stdio.h>
int fun(int *x,int n)
{ int i,j;
for(i=j=0;i<n;i++)
st[k].count++;
k++:
}
}
return k;
}
main()
{char s[10][20]={"liu","wang","zhao","zhao","wang","liu","wang","zhao","wang","wang"};
COUNT stat[5]={0};
int i,n;.
n=count(S,10,stat);
{0,0,1,2,2,1,-1}};
n=merge(a,b,C,m);
printf("%d\n",n);
for(i=0;i<n;i++)
{printf("%d",c[i]);
if((i+1)%3==0)prinff("\n");
}
}
●完善程序
13.程序功能:寻找具有下列特性的四位正整数,其百位数为0,去掉百位数0可得到一
A.e=fun(a,4,b);B.c=fun(a[],4,&b);
C语言习题四选择结构程序设计
习题四选择结构程序设计1. 设变量x和y均已正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是______。
A、if(x++);B、if(x>y && y!=0);C、if(x>0) x--D、if(y<0) {;}else y++; else x++;解析:本题考查的是if语句。
if后表达式两侧的圆括号不可少,最后是一条语句或是用花括号括起来的一组语句。
选项A和B是在表达式后跟了一条空语句,选项D是在表达式后跟了一组空语句,选项C中x--是表达式而不是语句,所以在编译时会出现错误信息。
故本题答案选C。
2. 有以下程序main(){ int i;for(i=1;i<=40;i++){ if(i++%5==0)if(++i%8==0) printf ("%d",i);}printf("\n"); }执行后的输出结果是______。
A、5B、24C、32D、40解析:本题考查的是if语句的应用。
在满足for 语句条件下,第一个if语句的条件是指i先对5取余后,再自行加1;第二个if语句的条件是指:i=i+1后,再对8取余。
故本题答案选C。
3. 在嵌套使用if语句时,C语言规定else总是______。
A、和之前与其具有相同缩进位置的if配对B、和之前与其最近的if配对C、和之前与其最近的且不带else的if配对D、和之前的第一个if配对解析:本题考查的是if语句的使用规则。
在嵌套使用if语句时,C语言规定else总是和之前与其最近的且不带else的if配对。
故本题答案为C。
4. 有以下程序main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k); }程序运行后的输出结果是______。
C语言程序设计模拟试题四(含答案)
C语言程序设计模拟试题四(含答案)1、微型计算机的性能主要取决于A) 内存B) 中央处理器C) 硬盘D) 显示卡2、有一个数值152,它与十六进制数6A相等,那么该数值是A) 二进制数B) 八进制数C) 十进制数D) 四进制数3、使用超大规模集成电路制造的计算机应该归属于A) 第一代B) 第二代C) 第三代D) 第四代4、已知英文字母a的ASCII代码值是十六进制数61H,那么字母d的ASCII代码值是A) 34H B) 54HC) 24H D) 64H5、一片存储容量是1.44MB的软磁盘,可以存储大约140万个A) ASCII字符B) 中文字符C) 磁盘文件D) 子目录6、在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是A) 终止当前操作B) 暂停当前操作C) 关机D) 热启动7、将二进制数10000001转换为十进制数应该是A) 127 B) 129C) 126 D) 1288、磁盘处于写保护状态,那么磁盘中的数据A) 不能读出,不能删改,也不能写入新数据B) 可以读出,不能删改,也不能写入新数据C) 可以读出,可以删改,但不能写入新数据D) 可以读出,不能删改,但可以写入新数据9、微型机启动后,DOS提示符是C:\>,现提示符变为C:\USER>,则说明刚执行过命令A) PROMPT B) PROMPT USERC)PROMPT SP$G D) CD USER10、MS-DOS文件系统目录的组织形式属于A) 关系型结构B) 网络型结构C) 树型结构D) 直线型结构11、应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH目录中,而数据文件存放在C:\TH\DATA目录中,如果将它们完整地复制到A盘, 应该使用的命令是A) XCOPY C:\\TH A:\\ B) XCOPY C:\\TH A:\\ /SC) XCOPY C:\\TH A:\\ /M D) XCOPY C:\\TH A:\\ /P12、执行COPY A.TXT+B.TXT 这个DOS命令后,得到的磁盘文件是A) A.TXT B) B.TXTC) AB.TXT D) A+B.TXT13、WindowsS中,将一个应用程序窗口最小化之后,得到的磁盘文件是A) 仍在后台运行B) 暂时停止运行C) 完全停止运行D) 出错14、CD-ROM属于A) 感觉媒体B) 表示媒体C) 表现媒体D) 存储媒体15、在因特网(Internet)中电子公告板的缩写是A) FTP B) WWWC) BBS D) E-mail16、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为A) 4 B) 16C) 32 D) 5217、设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1, 42, y=5.2;则以下符合C语言语法的表达式是A) a+=a-=(b=4)*(a=3) B) x%(-3);C) a=a*3=2 D) y=float(i)18、假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是A) x%=(k%=5) B) x%=(k-k%5)C) x%=k-k%5 D)(x%=k)-(k%=5)19、以下叙述中正确的是A) 输入项可以是一个实型常量,如:scanf("%f",3.5);B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&f);D) 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);20、设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是A) 把x和y按从大到小排列B) 把x和y按从小到大排列C) 无确定结果D) 交换x和y中的值21、以下程序的输出结果是main(){int a=12,b=12;printf("%d,%d\n",- -a,+ +b);}A) 10 10 B) 12 12C) 11 10 D) 11 1322、以下程序运行后,输出结果是main(){char *s="abcde";s+=2;printf("%ld\n",s);}A) cde B) 字符c的ASCII码值C) 字符c的地址D) 出错23、以下程序输出结果是main(){ int m=5;if(m++>5)printf("%d\n",m);esleprintf("%d\n",m- -);}A) 7 B) 6C) 5 D) 424、当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为if(a<b)if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x=3;else x=6;else x=7;A) 1 B) 2C) 3 D) 625、在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为#include<stdio,h>main(){ char ch;while((ch=getchar())!='\n'){ if(ch>='A' && ch<='Z') ch=ch+32;else if(ch>='a' && ch<='z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEFC) abc D) DEF26、下面能正确进行字符串赋值操作的语句是A) char s[5]={"ABCDE"};B) char s[5]={'A','B','C','D','E'};C) char *s;s="ABCDEF";D) char *s; scanf("%s",s);27、执行以下程序段时X=-1;do {x=x*x; }while(! x);A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误28、执行以下程序后,输出的结果是main (){int y=10;do { y - -;}while(- - y);printf("%d\n",y - -);}A) -1 B) 1C) 8 D) 029、在下列选项中,没有构成死循环的程序段是\A) int i=100while(1){ i=i%100+1;if(i>100)break;\B) for( ; ;);\C) int k=1000;do{++k;}while(k>=10000);\D) int s=36;while(s);--s;30、执行语句:for(i=l:i++<4:);后,变量i的值是A) 3 B) 4C) 5 D) 不定31、以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为#include<stdio.h>#include<string.h>func<char str[]){ int num=0;while(*(str+num)!='\0') num++;return(num);}main(){ char str[10],*p=str;gets(p); printf("%d\n",func(p));}A) 8 B) 7C) 6 D) 532、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为#include<stdio,h>mair(){ int v1=0,v2=0;char ch;while((ch=getchar())!='#')switch(ch){ case 'a';case 'h';default; v1++;case '0'; v2++;}printf("%d,%d\n",v1,v2);}A) 2,0 B) 5,0C) 5,5 D) 2,533、若以下程序所生成的可执行文件名为filel.exe;当打入以下命令执行该程序时;FILEL CHINA BEIJING SHANGHAI程序的输出结果是main(int argc,char *argv[]){ while(arge-->0){ ++argv;printf("%s ",*argv);}}A) CHINA BEIJING SHANGHAI B) FILEL CHINA BEIJINGC) C B S D) F C B34、下面程序运行的结果是main(){char ch[7]={65ab21"};int i,s=0for(i=0;ch[i]>='0' && ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}A) 2ba56 B) 6521C) 6 D) 6235、运行下面的程序,如果从键盘上输入:ab<回车>c <回车>def<回车>#include<stdio,h>#define N 6main(){ char c[N];int i=0;for( ;i<N;c[i]=getchar(),i++); for( i=0;i<N;i++) putchar(c[i]); printf("\n");}A) abcdefB) abcdC) abcdD) abcdef36、以下程序运行后,输出结果是#include<stdio,h>ss(char *s){char *p=s;while(*p) p++;return(p-s);}main(){char *a="abded";int i;i=ss(a);printf("%d\n",i);}A) 8 B) 7C) 6 D) 537、以下程序运行后,输出结果是func(int a, int b){ static int m=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){ int k=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}A) 8,15 B) 8,16C) 8,17 D) 8,838、以下程序运行后,输出结果是#include<stdio,h>#define PT 5.5#define S(x) PT* x * xmain(){ int a=1,b=2;printf("%4.1f\n",S(a+b));}A) 49.5 B) 9.5C) 22.0 D) 45.039、以下程序运行后,输出结果是main(){static char a[]="ABCDEFGH", b[]="abCDefGh";char *p1,*p2;int k;p1=a; p2=b;for(k=0;k<=7;k++)if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));printf("\n");)A) ABCDEFG B) CDGC} abcdefgh D} abCDefGh40、以下程序运行后,a的值是main(){int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m;printf("%d\n",a);}A) 4 B) 1C) 0 D) 运行时出错,a无定值41、以下程序运行后,输出结果是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) 84 B) 99C) 95 D) 4442、以下程序运行后,输出结果是main(){ char ch[2][5]={'693","825"},*p[2]; int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0';printf("%d\n",s);}A) 6385 B) 22C) 33 D) 69382543、以下程序运行后,输出结果是fut(int **s, int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11}, *p;p=(int *) malloc(sizeof(int));fut(&p,a);printf("%d\n",*P);}A) 1 B) 7C) 9 D) 1144、设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2:则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B) 2C) 3 D) 045、在执行以下程序时,为了使输出结果为:t=4,则给a和b输入的值应满足的条件是main(){int s,t,a,b;scanf("%d,%d",&a,&b);s=1; t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b) t=5;else t=2*s;printf("t=%d\n",t);}A) a>b B) a<b<0C) 0<a<b D) 0>a>b46、以下程序的输出结果是main(){int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;printf("x=%d\n",x);}A) x=4 B) x=8C} x=6 D} x=1247、以下程序运行后,输出结果是#inchude <stdio,h>#inchude <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;}}main(){ char *p;p="1234567";fun(p,strlen(p));puts(p);}A) 1234567 B) 7654321C) 1711717 D) 717717148、以下程序运行后,如果从键盘上输入: book <回车>book <空格><回车>则输出的结果是#include<string,h>main(){char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#");printf("%d/n",strlen(strcat(s1,s2)));}A) *8 B) #9C) #6 D) *949、以下程序运行后,输出结果是main(){int y=18,i=0,j,a[8];do{ a[i]=y%2; i++y=y/2;} while(y>=1)for(j=i-1;j>=0;j--) printf("%d",a[j]; printf("\n");}A) 10000 B) 10010 C) 00110 D) 10100答案:BBDDA ABBDC BAADC CADDD DCBBB CADCC DCACC DCBBC AACBC BCBB。
C语言程序设计形考任务4
一、选择题(共30分,每小题2分)题目1假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。
选择一项:a. struct BOOK *x=malloc(book);b. struct BOOK x={"C++ Programming",27.0};c. struct BOOK *x=malloc(sizeof(struct BOOK));d. struct BOOK *x=&book;正确答案是:struct BOOK *x=malloc(book);题目2假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为()。
选择一项:a. struct BOOK x= &book;b. struct BOOK *x=&book;c. struct BOOK x=calloc(BOOK);d. struct BOOK *x=BOOK;正确答案是:struct BOOK *x=&book;题目3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。
选择一项:a. 句点b. 冒号c. 分号d. 逗号正确答案是:分号题目4假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。
选择一项:a. 8b. 10c. 12d. 16正确答案是:16题目5假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。
选择一项:a. 4b. 8c. 12d. 16正确答案是:8题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。
选择一项:a. x.ab. x->ac. x(a)d. x{a}正确答案是:x->a题目7与结构成员访问表达式等价的表达式为()。
《C语言程序设计》试题四及答案
《C语言程序设计》试题四一、单项选择题。
(每题1分,共20分)1. C程序的基本单位是:()A.子程序B.程序C.子过程D.函数2.在C语言中,非法的八进制是:()A.016B.018C.017D.023. 不是C语言实型常量的是:()A.55.0B.0.0C.55.5D.55e2.54 .字符串“xyzw”在内存中占用的字节数是:()A.6B.5C.4D.35. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:()A.2.0B.2.25C.2.1D.1.5 D.1.5 D.1.5 D.1.56. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2-`a`,c2-c1);则输出结果为:()(a的ASCII码值为97)A.M,2B.G,3C.G,2D.D,g7. 使用语句scan f(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据输入是:()A.a=2.2,b=3B.a=2.2 b=3C.2.2 3D.2.2,38.表示关系12<=x<=y的C语言表达式为:()A.(12<=x)&(x<=y)B. (12<=x)&&(x<=y)C. (12<=x)|(x<=y)D.(12<=x)||(x<=y)9.设x=1,y=2,m=4,n=3,则表达式x>y?x:m<n?y:n的值为:()A.1B.3C.2D.410. 若有说明和语句:int a=5,b=6;b*=a+1;则b的值为:()A.5B.6C.31D.3611. 设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句(s=c1==c2)||(t=c3>c4)后,s,t的值为:()A.1,2B.1,1C.0,1D.1,012. 语句for(a=0,b=0;b!=100&&a<5;a++)s canf(“%d”,&b); scanf最多可执行次数为:()A.4B.6C.5D.113. 对于for(s=2;;s++)可以理解为:()A. for(s=2;0 ;s++)B. for(s=2;1 ;s++)C. for(s=2;s<2 ;s++)D. for(s=2;s>2;s++)14. 若有char h=`a`,g=`f`;int a[6]={1,2,3,4,5,6};则数值为4的表达式为:()A.a[g-h]B.a[4]C.a[`d`-`h`]D.a[`h`-`c`]15. 设:char s[10]={“october”};则printf(“%d\n”,strlen(s));输出是:()A.7B.8C.10D.1116. 若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a共有个元素:()A.8B.5C.3D.15二、填空题。
国开《C语言程序设计》(形考任务四)试题及答案
一、选择题(共30分,每小题2分)试题1假定有"struct BOOK{char title[40]; float price;}; struct BOOK book;",则不正确的语句为( 选择一项:a.struct BOOK *x=malloc(book);b.struct BOOK x={"C++ Programming",27.0};c.struct BOOK *x=malloc(sizeof(struct BOOK));d.struct BOOK *x=&book;试题2假定有"struct BOOK{char title[40]; float price;} book/,则正确的语句为(选择一项:a.struct BOOK x= &book;b.struct BOOK *x=&book;“c.struct BOOK x=calloc(BOOK);「d.struct BOOK *x=BOOK;试题3在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。
选择一项:a.句点b.冒号c.分号d.逗号试题4假定一个结构类型的定义为struct A{int a,b; double c;};\则该类型的长度为(选择一项:1 b,10d.16试题5假定一个结构类型的定义为"struct D{int a; D* next;};",则该类型的长度为()。
选择一项:「a.4母b.8r c.12厂 d.16试题6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。
选择一项:ra.x.a"b.x->a'c.x(a)1 d. x{a}试题7与结构成员访问表达式等价的表达式为()。
选择一项:ra.x->nameb.&x->name• c.(&x)->named.(*x)->name试题8假定一个链表中结点的结构类型为"struct AA{int data, struct AA *next;};n,则next数据成员的类型为()o选择一项:'a.struct AAb.struct AA*c.AAd.int试题9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p 的结点时,应执行的操作为()。
C语言程序设计模拟试题4
C语言程序设计模拟试题4 说明:1. 本卷共五大题,共6页。
2. 本试卷时间120分钟,满分100分。
一、项选择题(每小题2分,共20分, 每小题只有一个正确答案,请将你认为正确的答案填在对应的括号内。
)1. 组成C程序的基本单位是()。
A.函数B.标识符C.表达式D.语句2. 在C语言中,正确的字符类型的常量是()A.‘b‘ B.“ab” C.’ab’ D.”a”3. 在C语言中,逻辑值“真”是用()表示的。
A.预定义为真值的宏B.非零数C.正数D.非零整数4.下列描述中不正确的是()A.字符型数组中可以存放字符串B.可以对字符型数组进行整体输入、输出C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值5.设有如下定义:int x=1,y=-1;,则语句:printf(“%d\n”,(x--&++y));的输出结果是()A.1 B.0 C.-1 D.26.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()A.c=b=a;B.(a=c)||(b=c);C.(a=c)&&(b=c);D.a=c=b;7.以下程序的输出结果是()A.10192 B. 9876C. 10990D.10109 1main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d %d”,x--,y);}8.以下程序的输出结果是()A.5 2 B.5 1 C.5 3 D.9 7main(){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]);}9.以下程序的输出结果是( )A.6B.6789C.’6’D.789{char a[10]={‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,0},*p;int i;i=8;p=a+i;printf(“%s\n”,p-3);}10.C语言提供的合法的数据类型关键字是( )A. DoubleB. shortC. integerD. Char二、读程序(每小题3分,共27分)1、以下程序的输出结果为:()main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}A.2,1B.2,0C.0.25,0D.程序有错2、以下程序的输出结果为:()#include "stdio.h"main(){int i;for(i=1;i<=5;i++){if(i%2)printf("*");elsecontinue;printf("#");}printf("$\n");}A.#*#*#$B.*#%*#$C.*#*#*#$D.*#*#*$3、有以下程序:#include "stdio.h"main(){char c[6];int i=0;for(;i<6;c[i]=getchar(),i++);for(i=0;i<6;putchar(c[i]),i++);}输入以下三行,每行输入都是在第一列上开始,<CR>代表一个回车键:a<CR>cdef<CR>程序输出结果为:()A.abcdefB. aC.aD.ab b bcdef c cddef4、以下程序的输出结果为:#include "stdio.h"main(){int c;while((c=getchar())!='\n'){switch(c-'2'){case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;}}printf("\n");}每行输入在第一列上开始,<CR>代表一个回车键:2473<CR>程序输出结果为:()A.6696B. 668977C.666965D.6698555、以下程序的输出结果为:( )A.19,59,5B.29,59,5C.2,9,5,9,5D.17,4,8,5main(){int i=1,j=3;printf("%d",i++);i+=j++*2;printf("%d,%d",++i,++j)printf("%d,%d\n",i,j);}6、以下程序的输出结果为:( )main(){ int a=2,i;for (i=0;i<3;i++)printf("%4d",f(a++));}f(int a){ int b=0;static int c=3;b++;c++;return a+b+c;}A. 7 8 9B. 7 7 7C.8 9 10D.7 9 117、下列程序,分别选择3条printf语句行的正确输出结果。
C语言程序设计考试试题(附答案)
C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。
C语言程序设计试题附答案3篇
C语言程序设计试题附答案3篇C语言程序设计试题附答案11. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b=4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。
桂林电子科技大学C语言程序设计习题集及答案
一 单项选择题(每题2分,共44分)1 以下叙述正确的是__C _。
A C 程序基本组成单位是语句BC 程序每一行只能写一个语句C 简单C 语句必须以分号作为结束符D 注释语句可以嵌套2 一个C 语言程序是从_B __开始执行的。
A 程序中第一个函数B 名为main 的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C 语言赋值语句_B __。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是 _B __。
A 1abcB includeC a-b-c123D char5 以下所列的C 语言整形常量中,正确的是_A __。
A 0x10B 0976C 076LD 01ff6 C 语言中下列运算符的操作数必须为整型的是_A __。
A %B ++C /D =7 设a 和b 均为int 型变量,则执行以下语句后的输出为_B __。
int a=20; int b=3; printf("%d\n ",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i 的值为_A __。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为_D __。
A 'ab 'B '\482'C '\'D '\xaf '10 若y 为int 型变量,则执行以下语句后,y 的值是 _C __。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是_D __。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int 数据占用两个字节,float 数据占用四个字节,double 数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为__A _。
《C语言程序设计》习题及解答1-4章
参考答案
一、选择题(1)B
(2)C
(3)C
(4)B
(5)B
(6)D
(7)D
(8)C
(9)C
(10)D
(11)B
(12)D
(13)D
(14)C
(15)A
二、填空题【1】2
【5】32767
【2】-2
【6】6.000000
【3】scanf
【7】49
【4】printf
第三章习题
一、单项选择题
1.下面不属于C语言的数据类型是【】。
int x=-32769;
printf("%d",x);
4.执行下列程序的输出结果是【6】。
main( )
{
float a=1,b;
b=++a*++a;
printf("%f\\n",b);
}
5.执行下列程序的输出结果是【7】。
main( )
{
int x=5,y;
y=++x*++x;
printf("y=%d\\n",y);
本题正确答案为B。
二、填空题
1.若以下程序的输出结果是13,请填空。
main( )
{ int x=016;
printf("%d\\n",【1】); }
分析:在C语言中以0开头的数字是八进制数,016相当于十进制数14,执行printf语句时,输出项应为x的值减1。
本题正确答案为【1】--x或x-=1。
A)整型
B)实型
C)逻辑型
D)双精度实型
分析:和其它高级语言相比,C语言中没有逻辑型数据,也没有逻辑型变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计试题与答案-4《C语言程序设计》试题(闭卷)一、单项选择题:(每题 2 分,共 30 分)1. C 语言规定:在一个源程序中,main函数的位置_____________。
A. 必须在最开始B.必须在系统调用的库函数的后面C. 可以任意D.必须在最后2. 下列说法中错误的是_____________。
A. 主函数可以分为两个部分:函数头和函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行3. 用 C 语言编写的源文件经过编的值是_____________。
A. 1,1B. 0,1C.1,0 D. 0,08. sizeof (char)的结果值是_____________。
A. 4B. 2C. 1D.出错9. 设 a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是_____________。
A. 10<a<15B. a= =11|| a= =12 || a= =13 ||a= =14C. a>10 && a<15D. !(a<=10) && !(a>=15)10. 要为字符型变量 a赋初值,下列语句中哪一个是正确的_____________。
A. char a="3";B.char a=’3’;C. char a=%;D.char a=*;11. 设有定义:char s[12] ="STRING" ; 则printf( "%d\n",strlen(s)); 的输出是_____________。
A. 6B. 7C. 11D. 1212. 合法的数组定义是( )。
A. int a[3][ ]={0,1,2,3,4,5};B. int a[ ][ ] ={0,1,2,3,4};C. inta[2][3]={0,1,2,3,4,5,6};D. int a[2][3]={0,1,2,3,4,5,};13. 函数在定义时,省略函数类型说明符,则该函数值的类型为。
A. voidB. intC. floatD. double14. 若有定义:int x,*pb;以下正确的赋值表达式是___________。
A. pb =&xB. pb =xC. *pb =&xD. *pb=*x15. 有以下说明和定义语句(int在内存中占4B)Union Student{ char name[20];int age;float scor[3];}st;则sizeof(st)的值为_____________。
A.4 B. 12C. 20D. 361. C 语言中,源程序的基本单位是子函数。
( )2. C 是一个结构化的程序设计语言。
( )3. 运算符“%”要求两个操作数都是整型。
( )4. 变量名是由字母、数字、下划线构成的,长度不限。
( )5. 条件运算符是一个三目运算符。
( )6. 一维数组的下标在任何情况下,都不可以省略。
( )7. 循环结构中,执行continue 语句表示结束整个循环。
( )8. 数组的下标必须是整型常量或常量表达式。
( )9. putchar ()函数的作用是输出一个字符串。
( )10. 函数类型省略,系统会默认为void 。
( )二、判断题:(每题 1 分,共 10 分)1. 求m 和n 的最小公倍数#include<stdio.h>void main(){int m,n,i;printf("请输入两个整数m 和n :\n"); scanf("%d,%d",&m,&n);for(______________________;i++)if(_________________________) {printf("%d 和%d 的最小公倍数为:%d\n",m,n,i);_________________________}}三、程序填空:(每空3分,共 18 分)2. 求 1+1/2+1/3+……+1/100#include<stdio.h>void main(){int i;float s;_____________________________for(_______________________________) _____________________________ printf("1+1/2+1/3+……+1/100的值为:%.2f\n",s);}1.#include<stdio.h>#include<math.h>四、程序分析题:(每题6 分,共 12 分)void f1( int x, int y, intz ){ float y1,y2;y1=(-y+sqrt( z )) /(2.0*x);y2=(-y-sqrt( z )) /(2.0*x);printf("y1=%.2fy2=%.2f\n",y1,y2);}void f2(int x, int y){ printf("y1=y2=%.2f\n", -y/(2.0*x));}void f3( ){ printf("no\n");}void main(){ int a,b,c,d;printf("pleaseinput :a,b,c\n");scanf("%d,%d,%d",&a,&b,&c);d=b*b-4*a*c;if(d>0)f1( a,b,d);elseif(d==0)f2(a,b);elsef3();}程序功能:程序输入: 1,-6, 8程序执行结果:2.#include <stdio.h>#define M 3#define N 4void main (){ int a[M][N],b[N][M],i,j;printf("请输入矩阵a:\n");for(i=0;i<M;i++)for(j=0;j<N;j++){ scanf("%d",&a[i][j]);b[j][i]=a[i][j];}printf("矩阵b:\n");for(i=0;i<N;i++){ for(j=0;j<M;j++)printf("%5d",b[i][j]);printf("\n");}}程序功能:输入数据: 1 5 7 93 6 8 24 7 1 8执行结果:注意:算法要求写在试卷上。
1. 设计一个简单的超市收银系统。
(输入商品购买的数量和单价,显示总付款、实付款与找零)2. 求1000以内的完数,并统计个数。
五、算法设计与程序实现(每题15分,共 30 分)参考答案一、单项选择题:(每题2 分,共 30分)1. C2. D3. A4. C5. B6. A7. D8. C9. A 10.B11.A 12. D 13.B14.A 15.C二、判断题:(每题 1 分,共10 分)1.×2. √3. √4. ×5. √6. ×7. ×8. √9. × 10. ×三、程序填空题:(每空3 分,共18分)1. i=m;i<=m*n i%m= =0 && i%n= =0 break;2. s=1; i=2;i<=100;i++ s=s+1.0/i;四、程序分析题:(每题6 分,共12分)1.程序功能:一元二次方程求解。
程序执行结果:y1=4,y2=22.程序功能:矩阵转置。
程序执行结果:1 3 45 6 77 8 19 2 8五、算法设计与程序实现:(每题15分,共30分)1.算法:S1:输入商品的单价price和购买数量m;S2:若price或m为0,则执行s6;S3:求价格之和。
sum=sum+price*m;S4:求商品数量之和。
count=count+m;S5:执行s1;S6:输出购买商品的数量count和总额t_price;S7:输入实付款money;S8:输出找零change=money-t_price算法:#include <stdio.h>void main(){ int m,count=0;floatprice,t_price=0,money,change;printf("请输入购买商品的单价和数量:\n单价数量\n");do{scanf("%f %d",&price,&m);if(price==0||m==0)break;t_price=t_price+m*price;count=count+m;}while(1);printf("\n\n\n********************\n ");printf("购买商品:%d 个应付款:%.2f\n",count,t_price);printf("实付款:");scanf("%f",&money);change=money-t_price;printf("找零:%.2f\n",change);}2.算法:S1:x初始化,x=1;S2:求x的因子;S3:求x的因子之和sum;S4:若sum与x相等,则x为完数,并将x输出;S5:因子个数累加,count++;S6:x自增,x++;S7:若x<=1000,则执行s2;S8:输出完数的总个数count;程序:#include<stdio.h>void main(){int x,i,sum,count=0;for(x=1;x<=1000;x++){ sum=0;for(i=1;i<x;i++)if(x%i==0) sum=sum+i;if(sum==x){count++;printf("%d ",x);}}printf("\n\n1000之内的完数共有%d个\n",count);}。