C语言程序设计模拟试题3(附答案)

合集下载

C语言程序设计(附答案)

C语言程序设计(附答案)

C语言程序设计考试试卷(附答案)计算机程序设计课程56 学时 3.5 学分考试形式:闭卷一、选择题(15小题,每小题2分,共计30分)1.下面不正确的字符串常量是 A 。

A)'abc' B)"12'12" C)"0" D)" "2.以下正确的叙述是 DA)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示D)在C程序中,%是只能用于整数运算的运算符3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 AA)D B)68 C)不确定的值 D)C4.sizeof(float)是 B :A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式5.以下说法正确的是 D :A)输入项可以为一实型常量,如scanf("%f",3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:<CR>表示回车)。

int a1,a2; char c1,c2;scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);A) 1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>7.请阅读以下程序:void main(){int a=5,b=0,c=0;if(a=b+c) printf("***\n");e1se printf("$$$\n");以上程序 D :A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出*** D)输出$$$8.下面程序段的运行结果是 C 。

国开《C语言程序设计》(形考任务三)试题及答案

国开《C语言程序设计》(形考任务三)试题及答案

一、选择题(共30分,每小题2分)试题1在下面的函数声明语句中,存在着语法错误的是()。

选择一项:a. AA(int a, int b)b. AA(int, int)“c.AAfint a; int b)d.AA(int a, int)试题2在下面的保留字中,不能作为函数的返回值类型的是()。

选择一项:a. void° b.int'* c.enumd.long试题3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为()<•选择一项:r a.lr b.2& c.4r d.8试题4假定a为一个数组名,在下面的表达式中,存在语法错误的是()o选择一项:'aa[i]b. *a+ +}return s;}计算出l+x+x2+...+x n的值并返回。

试题37int SG(int x) ( //x为大于等于2的整数int i=2;while(i*i<=x) (if(x%i ==O) break;i++;)if(i*i<=x) return 0; else return 1;}判断x是否为一个质数(素数),若是则返回1,否则返回0。

试题38int WB(int a[]z int n, int x) (for(int i=0;i<n;i + +)if(a[i] ==x) return 1;return 0;)从数组a[n]中顺序查找值为x的元素,若查找成功则返回1,否则返回0。

试题39int fun(int m, int n) (int c=0;static int b=2;if(m<b || n<b) return m*n;else if(m%b==0 && n%b==0) {c=b; return c*fun(m/b,n/b);}else (b++; return fun(m,n);})一个递归函数过程,求出两个自然数m和n的最小公倍数。

国家二级C语言程序设计机试(选择题)模拟试卷3

国家二级C语言程序设计机试(选择题)模拟试卷3

国家二级C语言程序设计机试(选择题)模拟试卷3(总分:80.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。

(分数:2.00)A.循环队列B.带链队列C.二叉树√D.带链栈解析:解析:线性结构的特点:①有且只有一个根结点;②每一个结点最多有一个前驱,也最多有一个后继。

不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继结点,属于非线性结构。

2.算法的空间复杂度是指( )。

(分数:2.00)A.算法在执行过程中所需要的计算机存储空间√B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为A。

3.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。

(分数:2.00)A.循环队列B.栈√C.队列D.二叉树解析:解析:栈是按“先进后出”的原则组织数据的;队列是按“先进先出”的原则组织数据的,因此本题答案为B。

4.软件设计中划分模块的一个准则是( )。

(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合√C.低内聚、高耦合D.高内聚、高耦合解析:解析:一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此本题答案为B。

5.结构化程序的三种基本控制结构是( )。

(分数:2.00)A.顺序、选择和重复(循环) √B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移解析:解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环),故正确答案为A。

6.软件需求规格说明书在软件开发中的作用不包括( )。

(分数:2.00)A.软件设计的依据B.软件可行性分析的依据√C.软件验收的依据D.用户和开发人员对软件要做什么的共同理解解析:解析:需求分析就是分析软件用户的需求是什么,描述需求的文档称为软件需求规格说明书。

C语言程序设计模拟试题3(附答案)

C语言程序设计模拟试题3(附答案)

《C语言程序设计》模拟试卷三一、填空题。

(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。

2.一个C语言文件就是由若干个组成。

3.设有以下变量定义,并已赋确定得值char w; int x; float y; double z;则表达式:w*x+z-y所求得得数据类型为。

4.若x为int类型,请以最简单得形式写出与逻辑表达式!x等价得C语言关系表达式。

5.若有如下图所示五个连续得int类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。

p与s就是基类型为int得指针变量。

请对以下问题进行填空。

a[0] a[1] a[2] a[3] a[4]p,给s赋值,使s指向最后一个存储单元a[4]得语句就是。

(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p得值就是。

二、单项选择题。

(每题2分,共40分)1.设有 int x=11; 则表达式 (x++ * 1/3) 得值就是()。

A) 3 B) 4 C) 11 D) 122.下列程序得输出结果就是()。

A) 3 B) 3、2 C) 0 D) 3、07main(){double d=3、2; int x,y;x=1、2; y=(x+3、8)/5、0;printf(“%d \n”, d*y);}3.下列程序执行后得输出结果就是(小数点后只写一位)()。

A) 6 6 6、0 6、0 B) 6 6 6、7 6、7C) 6 6 6、0 6、7 D) 6 6 6、7 6、0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法得就是()。

A) short _a=1-、le-1; B) double b=1+5e2、5;C) long do=0xfdaL; D) float 2_and=1-e-3;5.设 int x=1, y=1; 表达式(!x||y--)得值就是()。

厦门理工学院C语言程序设计期末测试题及答案(5套)

厦门理工学院C语言程序设计期末测试题及答案(5套)

if(c>=’a’&&c<=’z’)
c=c-32;
# else
if(c>=’A’&&c<=’Z’)
c=c+32;
# endif
printf(“%c”,c);
}
上面程序的运行结果是:
A) C Language
B) c language
C) C LANGUAGE D) c lANGUAGE
20. 假定以下程序经编译和连接后生成可执行文件 PROG.EXE,如果在此可执行文件所 在目录的 DOS 提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH main( int argc, char *argv[])) { while(--argc>0) printf("%s",argv[argc]);
D)switch (a+b);
{ case 1:printf("\n");
{ case 1:printf(."*\n");
case 1+2:printf("**\n");
case 2:printf("**\n");
}
}
11.以下程序运行后,如果从键盘上输入 ABCDE,则输出结果为
A) 8 B)7 C)6 D)5
A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=3
9.下面程序的输出是
main()
{ unsigned a=32768;

C.语言程序设计试题试题与答案

C.语言程序设计试题试题与答案

C 语言程序设计试卷,C++语言程序设计试题及答案一、单项选择题(每题1分,共20分)1. C 语言规定:在一个源程序中, main 函数的位置(C).A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 2. 下面四个选项中,均是合法浮点数的选项是 A. +1e+15e-9.403e2B. -.6012e-4-8e5C. 123e1.2e-.4+2e-1D. -e3.8e-45.e-03.若a=-14,b=3,则条件表达式 avb?a:b+1的值为(A)。

A. -14B.-13C.3D.44. 已知:intn,i=1,j=2; A.1,2B.1,3C.2,2D.2,35. 为了判断两个字符串s1和s2是否相等,应当使用(D)A.if(s1==s2)B.if(s 仁s2)C. if(strcm p( s1,s2))D. if(strcm p( s1,s2)==0)6. 以下正确的描述是(B) o(B)。

执行语句n=ivj?i++:j++; 则i 和j 的值是(c).A.函数的定义可以嵌套,但函数的调用不可以嵌套。

B.函数的定义不可以嵌套,但函数的调用可以嵌套。

C.函数的定义和函数的调用均不可以嵌套。

D.函数的定义和函数的调用均可以嵌套。

7. 在C 语言中,下面对函数不正确的描述是 A.当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。

B.允许函数递归调用。

C. 函数形参的作用范围只是局限于所定义的函数内。

D. 子函数必须位于主函数之前。

8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是(D)。

A. doublefun(intx,inty){z=x+y;retum z;}B. fun(intx,y){int z; return z;}C. fun(x,y){intx,y;doublez;z=x+y;returnz;}D. doublefun(intx,inty){doublez;z=x+y;returnz;}10. 以下程序的输出结果是(B)。

大学C语言程序设计考试试题及答案3套

大学C语言程序设计考试试题及答案3套

main()
{int a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if (i==j) sum=sum+a[j]; printf(“sum=%d\n”,sum);
} 四、编程题(本大题共 4 题,每题 8 分,共 32 分) 1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示 对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 。 2、试编程判断输入的正整数是否既是 5 又是 7 的正倍数。若是,则输出 yes;否则输 出 no。 3、判断数 m 是否为素数(只能被 1 和它本身整除的整数)? 4、对 15 个数进行排序,按从小到大的顺序输出。 《C 语言程序设计》期末考试试卷(A 卷)评分标准及标准答案 一、单项选择题(本大题共 20 题,每题 2 分,共 40 分) 1、 B 2、 D 3、 B 4、 B 5、 C 6、 D 7、 B 8、 B 9、 A 10、D 11、C 12、D 13、D 14、C 15、D 16、C 17、C 18、D 19、C 20、B 二、填空题(本大题共 10 空,每空 2 分,共 20 分) 1、 顺序结构 分支结构 循环结构 2、 单精度型(或:float 型) 双精度型(或;double 型] 3、 1 4、
C 语言期末考试试卷
一 单项选择题(每题 2 分,共 40 分)
1 以下叙述正确的是 。 A C 程序基本组成单位是语句 C C 程序每一行只能写一个语句
B 简单 C 语句必须以分号作为结束符 D 注释语句可以嵌套

(完整版)C语言程序设计试卷及参考答案

(完整版)C语言程序设计试卷及参考答案

《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include <stdio.h>的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9B.12C.14D.15参考答案—D2、设有说明语句:char a= '\123abc';则变量a __________A. 包含7个字符B.包含6个字符C. 包含5个字符D. 包含4个字符参考答案—D3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A. 无限次B.有语法错,不能执行C. 一次也不执行D. 执行1次参考答案—A4、在C语言中,_____。

A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do-while语句构成的循环不能用其它语句构成的循环代替。

B)do-while语句构成的循环只能用break语句退出。

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

参考答案—D6、以下关于函数叙述中,正确的是。

A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身参考答案—D7、以下数组声明语句中正确的是。

A.int a,a[n];B.int a[ ];C. int a[2][3]={{1},{2},{3}};D.int a[ ][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A.char str[5]= "good!";B.char str[ ]= "good!";C.char *str="good!";D.char str[5]={ 'g','o','o','d'};参考答案—A9、以下关于switch语句和break语句的描述中,只有______是正确的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C 语言程序设计》模拟试卷三 一、填空题。

(每空2分,共16分) 1 •在内存中,短整型变量占 _______ 字节,单精度实型变量占 ___________ 字节,字符型变量占 ____________ 字 节。

2•一个C 语言文件就是由若干个 _______________ 组成。

3 •设有以下变量定义,并已赋确定得值 char w; int x; float y; double z;则表达式:w*x+z-y 所求得得数据类型为 ____________________________ 。

4•若x 为int 类型,请以最简单得形式写岀与逻辑表达式 !x 等价得C 语言关系表达 式 _______________________________ 。

5.若有如下图所示五个连续得 int 类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。

p 与s 就 是基类型为int 得指针变量。

请对以下问题进行填空。

a[0] a[1] a[2] a[3] a[4] (1 )若p 已指向存储单元 a[1]。

是 。

(2)若指针s 指向存储单元a[2],p 二、单项选择题。

(每题 通过指针p,给s 赋值,使s 指向最后一个存储单元 a[4]得语句就 指向存储单元a[0],表达式s-p 得值就是 ________________________________ 2分,共40分) 1.设有int x=11; 则表达式(x++ * 1/3) 得值就是() A ) 3 B ) 4 C ) 11 D ) 12 2 •下列程序得输岀结果就是() A) 3 B) 3、2 C) 0 main(){double d=3、2; int x,y; x=1、2; y=(x+3、8)/5、0;printf( “ %d \n ” , d*y); } 3•下列程序执行后得输岀结果就是 A) 6 6 6、0 6、0C) 66 6、0 6、7 D) 3、07 (小数点后只写一位)( ) B ) 6 6 6、7 6、7 D ) 6 6 6、7 6、0 main() { double d; float f; long l; int i;i=f=l=d=20/3; printf("%d %ld %f %f \n", i,l,f,d); scanf("%d", &d); } 4•下列变量定义中合法得就是(A) short _a=1- 、le-1;C) long do=0xfdaL;5.设int x=1, y=1;A) 0 B) 1 C) 2 6.与y=(x>0?1:x<0?-1:0);A) if (x>0) y=1;else if(x<0)y=-1;else y=0;C) y=-1if(x)if(x>0)y=1; elseif(x==0)y=0;else y=-1; 7.以下循环体得执行次数就是( A) 3 B) 2 C) 1 main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf( }B) double b=1+5e2 、5;D) float 2_and=1-e-3;得值就是( )。

D) -1得功能相同得if 语句就是( )B) if(x)if(x>0)y=1;else if(x<0)y=-1;else y=0;D) y=0;if(x>=0)if(x>0)y=1;else y=-1;)。

D) 0“%d \n ” ,i);)。

表达式(!x||y--)8.以下叙述正确得就是(A) do-while 语句构成得循环不能用其它语句构成得循环来代替。

B) do-while 语句构成得循环只能用break 语句退出。

C) 用do-while 语句构成得循环D) 用do-while 语句构成得循环9.下列程序执行后得输出结果就是A) G B) H C) I 在while 后得表达式为非零时结束循环。

在while 后得表达式为零时结束循环。

)。

D) Jmain(){ int x= ' f ' ; printf( %c \n ” , 'A' +(x- ‘ a' +1)); } 10.执行下面得程序段后, 变量k 中得值为(A) 不定值B) 33 C) 30 D) 10int k=3, s[2];s[0]=k; k=s[1]*10;11.若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a, i;其中0 < i < 9,则对a数组元素不正确得引用就是( ) A) a[p-a] B) *(&a[i]) C) p[i] D) a[10] 12.下列程序执行后得输出结果就是( )。

A) 6 B) 7 C) 8 D) 9void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5];a=0; b[0]=3;func(&a,b); printf( “%d \n ” ,b[0]);}13•下列程序得运行结果就是( )。

A) a=%2,b=%5 B) a=2,b=5C) a=d, b=d D) a=%d,b=%d#include <stdio 、h>main(){ int a=2,c=5;printf( “a=%d,b=%d\n" ,a,c); }14•下列程序执行后得输出结果就是( )。

A) 3 B) 6 C) 9 D)随机数main(){ int a[3][3], *p, i;P=&a[0][0];for(i=0; i<9; i++) p[i]=i+1;printf( “ %d \n ” ,a[1][2]);}15.设有数组定义:char array [ ]= “China” ;则数组array 所占得空间为( )A) 4个字节B) 5个字节C) 6个字节D) 7个字节16•下列程序得输出结果就是( )。

A) 4 B) 6 C) 8 D) 10int b=2;int func(int *a){ b += *a; return(b);}main(){ int a=2, res=2;res += func (&a);printf( “ %d \n ” ,res);}17、有以下定义与语句int a[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则* (p[0]+1)所代表得数组元素就是()A)a[ 0][1] B)a[1][0] C)a[1][1] D)a[1][2]18•下列程序得输出结果就是( )。

A) 5 B) 6 C) 7 D) 8struct abc { int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0] 、a+s[1] 、b;printf( “%d \n ”,t);}19.若有以下调用语句, 则不正确得fun 函数得首部就是( ) A) void fun(int m, int x[]) B) void fun(int s, int h[41]) C) void fun(int p, int *s) D) void fun(int n, int a) main(){…int a[50],n;fun(n, &a[9]);}20.在C程序中,可把整型数以二进制形式存放到文件中得函数就是()。

A) fprintf 函数B) fread 函数C) fwrite 函数D) fputc 函数三、修改下列程序:(在程序出错得语句下划横线并标号,把修改后得语句写在程序下面得横线上。

)(每小题 5 分,共10 分)I. 下列给定程序得功能就是:读入一个整数(2<=k< = 10000),打印它得所有质因子(即所有为素数得因子)。

例如,若输入整数2310,则应输出2、3、5、7、II。

#include <conio 、h>#include <stdio 、h>*******************************IsPrime(int n);{int i,m;m=1;for ( i=2; i<n; i++)******************************if !(n%i){ m=0; contitue; }return (m);}mai n(){ int j,k;clrscr();printf( “nPlease enter an integer number between 2 and 1OOOO: ” ); scanf( “ %d ,k);printf( “nnThe prime factor(s) of %d is (are): ” ,k);for (j=2;jv=k;j++)if ( (!(k%j))&(IsPrime(j)) ) printf(" %4d",j);getchar();})2•下列给定程序中,函数fun得功能就是:逐个比较a、b两个字符串对应位置中得字符,把ASCII值大或等于得字符一次存放到c数组中,形成一个新得字符串。

例如,若a中得字符串为aBCDeFgH,t中得字符串为:ABcd,则c中得字符串为:aBcdeFgh=#include <stdio 、h>#include <string 、h>****************************************void; fun( char *p,char *q,char *c) ;***************************************{int k=1;***************************************while(*p!=*q){if (*p<*q) c[k]=*q;else c[k]=*p;if (*P)P++;if (*q) q++;k++;}K=' \0 ';}***************************************mai n(){char a[10]= “aBCDeFg”,b[10]= “ABcd' ,c[80]={ “” };fun (a,b,c);printf( “The string a: ”); puts(a);printf( “The string b: ”); puts (b);printf( “The result: ”); puts(c);}四、阅读下列程序,在程序后面得横线上,写出该程序得功能或给出运行结果 (每小题4分,共16分)1、#include <stdio 、h>void mai n(){ char ch; int k=0;for(ch= ' A' ;ch< ' H' ;ch++,k++) if(k%2==0) printf( “ %C ,ch);printf( “\n ” );}2、#include <stdio 、h>输出结果:______________________________3、#include <stdio 、h>{ int k=0;char c= ' A ;do {switch (c++){case ‘ A' : k++; break;case ‘ B' : k--;case ‘ C' : k+=2; break;case ‘ D' : k=k%2; break;case ‘ E' : k=k*10; break; default:k=k/3;}k++;} while(c< ' G'); printf( “ k=%d\n” , k);}输出结果:______________________________3、#include <stdio 、h>void mai n(){ int a[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;for(i=0;i<6;i++) {for(j=0;j<6;j++) if(a[i]==b[j])break;if(j<6) printf( “%d ” ,a[i]);}printf( “\n ” );}输出结果:_____________________________________4、#include <stdio 、h>{ int a[8]={1,0,1,0,1,0,1,0},i;for(i=2;i<8;i++) a[i]+=a[i-1]+a[i-2]; for(i=0;i<8;i++) printf(“%d ” ,a[i]);printf( “\n ” );}输出结果:____________________________________________________五、按给出得程序功能,在空格处,填写正确得程序语句,使程序完整。

相关文档
最新文档