4C语言程序设计基础试题四

合集下载

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。

解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。

```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。

解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。

解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。

计算机程序设计基础c语言4

计算机程序设计基础c语言4

4.6 递归
如果一个函数在调用的过程中出现直接或者间接地调用 该函数本身,称为函数的递归调用。C语言的特点之一就是 允许使用函数的递归调用。
int fn(int a) { int x,y;

y=fn(x);
return (3*y);
} 在调用函数fn()的过程中,又出现再次调用fn()函数,这 就是函数的递归调用,函数fn()称为递归函数。像函数fn()这 样直接调用自身的,称为函数的直接递归调用。
在函数体中也应将变量的声明放在使用该变量之前,否则会 出现编译错误。
4.2.2 函数声明与函数原型
(一)函数声明 形式如下:
返回数据类型 函数名(形式参数类型 形式参数名); 如 float max1(float a, float b); 注意:
当被调函数的定义位于主调函数之前,可以省略函数 声明;若定义在后,则必须在主调函数之前对被调函 数进行声明。
对于有参函数,在声明时可以省略形式参数的名称, 但类型不能省略。 如 float max1(float , float);
函数声明时不要忘记语句末尾的分号“;”。
4.2.2 函数声明与函数原型
(二)函数原型 形式如下:
返回数据类型 函数名(形参类型 形参名); 返回数据类型 函数名(形参类型);
4.4 函数返回类型与返回值
2.无返回值函数 如果函数没有返回值,则定义为“空”类型,类型说明 符为“void”。无返回值函数用于完成特定的处理任务, 执行完后不向主调函数返回任何值。如
void printstar() {
printf("********"); } 如果要在主调函数中调用printstar函数,则语句为:
n!=1 n!=n×(n-1)!

C语言程序设计基础试题及答案

C语言程序设计基础试题及答案

第一部分C语言基础一、选择题1.以下正确的C语言标识符是A.%X B.a+b C.a123 D.test2.已定义int a,b;则以下不正确的C语句是A.a=5; B.b/=2; C.a+=1.75; D.b&&=a;3.若x、i、j和k都是整型变量,则执行下面表达式后x的值为x=i=4,j=16,k=32A.4 B.16 C.32 D.524.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符A.必须是字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符5.下面正确的字符常量是A.“c” B.’\\”C.‘w’D.”6.设int a=2,b=0,c;则执行语句c+=b&&a--后, c的结果为 ;A.0,1 B.1,0 C.2,0 D.不确定7. 以下不正确的C语言标识符是A intB a_1_2C ab1exeD _x8.以下是正确的C语言标识符是 ;A defineB _123C %dD \n9.下列四组字符串中都可以用作C语言程序标识符的一组是 ;A printB i\amC PxqD str_l_3d one_half My->book Cpp••• oodbs tart$it line pow10.下面各选项组中,均是C语言关键字的组是 ;A auto,enum,includeB switch,typedef,continueC signed,union,scanfD if,struct,type11.下列不属于C语言关键字的是 ;A defaultB registerC enumD external12.C语言程序从main函数开始执行,所以这个函数要写在 ;A 程序文件的开始B 程序文件的最后C 它所调用的函数的前面D 程序文件的任何位置13.下列关于C语言的叙述错误的是A 大写字母和小写字母的意义相同B 不同类型的变量可以在一个表达式中C 在赋值表达式中等号=左边的变量和右边的值可以是不同类型D 同一个运算符号在不同的场合可以有不同的含义14.在C语言中,错误的int类型的常数是 ;A 32768B 0C 037D 0xAF15.将字符g赋给字符变量c,正确的表达式是 ;A c=\147B c="\147"C c=’\147’16.下列转义字符中错误的一个是 ;A ’\000’B ’\0014’C ’\x111’D ’\2’17.将空格符赋给字符变量c,正确的赋值语句是 ;A c=’\0’B c=NULLC c=0D c=3218.已知:char a=’\70’;则变量a中 ;A 包含1个字符B 包含2个字符C 包含3个字符D 说明非法19.字符串"\"EOF\n=-\61\""的长度是 ;A 8B 9C 14D 非法字符串20.字符串""的长度是 ;A 0B 1C 2D 非法字符串21.已知:char a;int b;float c;double d;执行语句"c=a+b+c+d;"后,变量c的数据类型是 ;A intB charC floatD double22.温度华氏和摄氏的关系是: C=-F-32;已知:float C,F;由华氏求摄氏的正确的赋值表达式是 ;A C=5/9F-32B C=5F-32/9C C=5/9F-32D 三个表达式都正确23.逗号表达式"a=35,a4,a+15"的值是 ;A 15B 60C 30D 不确定24.已知 int x=1,y=1,z=1;表达式"x+++y+++z++"的值是 ;A 3B 4C 5D 表达式错误25.用十进制表示表达式"12|012"的值是A 1B 0C 12D 1426.已知int x=1,2,3,4;变量x的值是 ;A 1B 2C 3D 427.表达式sizeofdouble是 ;A 函数调用B double型表达式C int型表达式D 非法表达式28.C语言程序的执行,总是起始于 ;A 程序中的第一条可执行语句B 程序中的第一个函数C main函数D 包含文件中的第一个函数29.下列说法中正确的是 ;A C程序书写时,不区分大小写字母B C程序书写时,一行只能写一个语句C C程序书写时,一个语句可分成几行书写D C程序书写时每行必须有行号30.下面对C语言特点,不正确描述的是 ;A C语言兼有高级语言和低级语言的双重特点,执行效率高B C语言既可以用来编写应用程序,又可以用来编写系统软件C C语言的可移植性较差D C语言是一种结构式模块化程序设计语言31.C语言源程序的最小单位是 ;A 程序行B 语句C 函数D 字符32.以下四项中属于C语言关键字的是 ;A CHARB defineC unsignedD return33.十进制数2403转换成十六进制数为 ;A 963B 369C 953D 35934.二进制数00110101转换成八进制数是 ;A 055B 065C 056D 15235.计算机内部运算使用的数是 ;A 十进制数B 十六进制数C 二进制数D 八进制数36.一个字长的二进制位数是 ;A 2个BYTE,即16个bitB 3个BYTE,即24个bitC 4个BYTE,即32个bitD 随计算机系统不同而不同37.在C语言系统中,假设int类型数据占2个字节,则double、long、unsigned int、char类型数据所占字节数分别多少;A 8,2,4,1B 2,8,4,1C 4,2,8,1D 8,4,2,138.下面程序段执行结果是;int i=5,k;k=++i+++i+i++;printf"%d,%d",k,i;A 24,8B 21,8C 21,7D 24,7三、上机操作题1.分析程序并上机操作;下列程序的运行结果是什么main{int x=5;int y=10;printf“%d\n”,x++;printf“%d\n”, ++y;}2.从键盘上输入学生5门功课的成绩,计算出总成绩和平均成绩并输出;1.C2.D3.C4.C5.C6.D7.A8.B9.A 10.B 11.D 12.D 13.A 14.A 15.C 16.A 17.D 18.A 19.B 20.A 21.C 22.B 23.C 24.A 25.A 26.D 27.C 28.C 29.C 30.C 31.B 32.C 33 A 34 B 35 C 36 A 37 D 38B。

C语言程序设计试题集

C语言程序设计试题集

第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。

2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3. 软件是程序,以及______、使用和维护所需要的所有文档。

4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。

6. C语言是由________组成的。

7. C语言的函数可分为主函数main、标准库函数和_________。

8. 一个函数是由两部分组成的,即:________和函数体。

9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14. C程序的执行均是由执行_________开始。

15.函数体即为包含在{}内的部分。

它分为________和为完成功能任务由若干个C 语句组成的执行部分。

16.C语言程序中一条简单语句是以________字符作为结束符的。

17.C语言是结构化、________的程序设计语言。

4试题 c语言试题以及答案

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);

2019-北京理工大学-成教-《c语言程序设计》期末测试卷(4)

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分,共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答案

C程序设计模拟试题4答案

C程序设计模拟试题4C程序设计》模拟试题四一、单项选择题(每小题2分,第15题4分,共40分)。

1. C++语言是先进的程序设计语言,具有以下的特点【①】。

①面向对象、封装性、继承性、多态性②面向过程、封装性、继承性、多态性③面向对象、封装性、继承性、稳定性④面向过程、封装性、继承性、多元性2. C语言中最简单的数据类型包括【③】①整型,实型,逻辑型②整型,实型,空类型③整型,实型,字符型④整型,实型,指针型3. 以下不正确的C语言标识符是【④】。

① ABC123 ② _123abc③ a_bc123 ④ 123abc4. 软件是所有程序、数据和文档资料的总和,计算机软件可分为【③】。

①商业软件、应用软件②工具软件、应用软件③系统软件、应用软件④系统软件、工具软件5. 以下不是结构化程序设计的基本结构的是【②】。

①选择结构②逻辑结构③循环结构④顺序结构6. 如下程序的执行结果是【①】。

main(){int n=1;n++;printf(“%d %d %d “,n,n++,--n);}①1 1 1 ②2 2 2 ③2 3 2 ④2 2 17. 循环语句while(!E);中的表达式!E等价于【③】。

① E!=0 ②E!=1 ③E==0 ④ E==18. 设int m=1,n=2,则++m==n的结果是【①】。

①1 ②0 ③2 ④39. 如果变量定义有:int a=10,c=9;则表达式(--a!=c++)?—a:++c的值为【②】。

①10 ②11 ③8 ④910. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型是【③】。

①int ②float ③double ④不确定11. 以下程序的执行结果是【④】。

main(){int a=2,i;for(i=0;i<3;i++)printf(“%d,”,func(a));}func(int a){int b=0;static c=3;b++;c++;return(a+b+c);}①777 ②7,7,7 ③789 ④7,8,9,12. 有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值3,c的值为2,从键盘输入数据的正确形式应是【③】。

C语言试题四

C语言试题四
else{ f(x/lOO);pfintf("%d",x%100/10):}
}
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语言试题及答案

程序设计基础c语言试题及答案

程序设计基础c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“与”的运算符是:A. &&B. ||C. &D. |答案:A2. 下列哪个选项不是C语言中的关键字?A. intB. floatC. longD. double答案:D3. 在C语言中,下列哪个函数用于将字符串连接起来?A. strcat()B. strcmp()C. strcpy()D. strlen()答案:A4. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A5. 下列哪个选项是C语言中的合法变量名?A. 2nd_nameB. intC. _nameD. name$答案:C6. C语言中,用于定义一个指针的语法是:A. int *p;B. int *p = 0;C. int p*;D. int *p = 1;答案:A7. 在C语言中,下列哪个选项是正确的函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int, int a, b);答案:A8. C语言中,用于表示逻辑“非”的运算符是:A. !B. ~C. &&D. ||答案:A9. 下列哪个选项是C语言中的合法常量?A. 1.23B. 0x1AC. 0123D. All of the above答案:D10. 在C语言中,下列哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[5] = {1, 2, 3, 4, 5, 6};C. int arr[] = {1, 2, 3};D. int arr[5];答案:C二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是________。

C语言程序设计模拟试题四(含答案)

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

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语言程序设计》(形考任务四)试题及答案

一、选择题(共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章循环结构(答案)

C语言程序设计习题集第4章循环结构(答案)第4章循环结构题择一、选1、有以下程序段intk=0;while(k=1)k++;是(A)while循环执行的次数A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次,t的值为0i nt类型,进入下面的循环之2、t为前while(t=1){??}则以下叙述中正确的是(B)A)循环控制表达式的值为0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B)A)m==0B)m!=0C)m==1D)m!=14、有以下程序,程序运行后的输出结果是(C)。

main(){inti=1,sum=0;while(i<=4)sum=sum+i;i=i+1;}printf(“%n”d,sum);}A)4B)5C)10D)死循环5、有以下程序,程序运行后的输出结果是(D)。

main(){inti=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%n”d,sum);}A)4B)5C)10D)死循环6、有如下程序main(){intn=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A)987B)876C)8765D)98767、以下程序的输出结果是(B)main(){intnum=0;while(num<=2){num++;printf(“%n”d,num);}}A)1B)1C)1D)l22248、有以下程序,若运行时输入3.62.4<回车>,则输出的结果是(B)。

main(){floatx,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(“n%”f,y);}A)1.500000B)1.600000C)2.000000D)2.4000009、执行以下程序段时x=-1;do{x=x*x;}while(!x);则下面描述正确的是(A)A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误10、有以下程序段其输出结果是(C)intx=3;do{printf("%d",x-=2);}while(!(--x));A)1B)30C)1-2D)死循环11、有如下程序main(){intx=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B)A)321B)23C)不输出任何内容D)陷入死循环12、有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3); 此处do—while循环的结束条件是(D)A)P的值不等于12345并且n的值小于3B)P的值等于12345并且n的值大于等于3C)P的值不等于12345或者n的值小于3D)P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A)n=0;do{++n;}while(n<0);B)n=0;while(1){n++;}C)n=10;while(n);{n--;}D)for(n=0,i=1;;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B) for(i=2;i==0;)printf(“%-d-”);,iA)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A)3B)4C)5D)不定16、有以下程序main(){inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是(C)A)741B)963C)852D)87542117、以下程序执行后sum的值是(C)A)15B)14C)不确定D)0main(){inti,sum;for(i=1;i<6;i++)sum+=i;printf(“n%”d,sum);}18、有如下程序{inti,sum=0;for(i=1;i<=3;sum++)sum+=i;printf(“%n”d,sum);}该程序的执行结果是(C)A)6B)3C)死循环D)019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C)A)0B)10C)-1D)120、执行下面程序片段的结果是(A)。

C语言程序设计模拟试题4

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语言程序设计试题四一、单项选择题;每题1分,共20分1. C程序的基本单位是:A.子程序B.程序C.子过程D.函数2.在C语言中,非法的八进制是:A.016B.018C.017D.023. 不是C语言实型常量的是:4 .字符串“xyzw”在内存中占用的字节数是:A.6B.5C.4D.35. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:6. 若有语句char c1=`d`,c2=`g`;printf“%c,%d\n”,c2-`a`,c2-c1;则输出结果为:a的ASCII码值为97A.M,2B.G,3C.G,2D.D,g7. 使用语句scanf“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<=yB. 12<=x&&x<=yC. 12<=x|x<=yD.12<=x||x<=y9.设x=1,y=2,m=4,n=3,则表达式x>yx:m<ny: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. 语句fora=0,b=0;b=100&&a<5;a++scanf“%d”,&b; scanf最多可执行次数为:A.4B.6C.5D.113. 对于fors=2;;s++可以理解为:A. fors=2;0 ;s++B. fors=2;1 ;s++C. fors=2;s<2 ;s++D. fors=2;s>2;s++14. 若有char h=`a`,g=`f`;int a6={1,2,3,4,5,6};则数值为4的表达式为:A.ag-hB.a4C.a`d`-`h`D.a`h`-`c`15. 设:char s10={“october”};则printf“%d\n”,strlens;输出是:A.7B.8C.10D.1116. 若有int a35={2,2},{2,6},{2,6,2}},则数组a共有个元素:A.8B.5C.3D.15二、填空题;每空1分,共15分1.C语言标识符由 _________、__________和___________来构造;2.在C语言中,字符串常量是用一串字符;3.若有说明和语句:int a=25,b=60;b=++a;则b的值是 ;4.若int x=5;whilex>0printf“%d”,x--;的循环执行次数为 ;5.若有int a5,p=a;则p+2表示第个元素的地址;6.若有说明和语句:int a=5,b=6,y=6;b-=a;y=a++则b和y的值分别是、 ;7.已知整型变量a=3,b=4,c=5,写出逻辑表达式a||b+c>c&&b-c的值是 ;8.C程序设计的三种基本结构是 ________、________和________;9.数组是表示类型相同的数据,而结构体则是若干数据项的集合;10.C语言中文件是指三、将下列程序补充完整;每空2.5分,共30分1.输入三角形的三条边a,b,c,求三角形的面积;include “math.h”include “stdio.h”main{float a,b,c,d,t,s;printf“请输入三角形的三条边:”;scanf“%f,%f,%f”,&a,&b,&c;if 1printf“%f%f%f不能构成三角形”, a,b,c;else {t=a+b+c/2;s= 2printf“a=%7.2f,b=%7.2f,c=%7.2f,area=%7.2f\n”, a,b,c,s;}}122.输入两个整数,n1,n2要求n1<n2,统计两整数范围内被3整除的数的个数;include “stdio.h”main{int n1,n2,j,n=0;printf“\n请输入两个数:”;scanf 3 ;ifn1>n2{ 4 }forj=n1;j<=n2,j++if 5 n++;printf“a=%5d,b=%5d,n=%5d\n”n1,n2,n;}3453.输入两个整数,n1,n2要求n1<n2,统计两整数范围内的素数的个数;include “math.h”include “stdio.h”int prime int x{int k;for 6if x%k==0 return0;return1}main{int a,b,j,n=0;printf“\n请输入两个数:”;scanf“%d,%d”,&a,&b;ifa>b{ 7 }forj=a;j<=b,j++if 8 n++;printf“a=%4d,b=%4d,n=%4d\n”a,b,n;}6784.编写程序,输入n个整数n由键盘输入,统计其中正数、负数和零的个数;include “stdio.h”main{int x,n,k,k1=0,k2=0,k3=0;printf“input n=:”;9fork=0;k<n;k++{scanf“%d”,&x;if x<0k1++;10 ;else k3++;printf“k1=%4d,k2=%4d,k3=%4d\n”,k1,k2,k3}}9105.设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束.include “stdio.h”main{char ch;do{ch=getchar;if 11 break;else if 12 putcharch;}while1;}1112四、按格式写出程序运行结果;每题4分,共16分;1.格式化输出函数main{ int a=1,c=65,d=97;printf“a10=%d,a8=%o,a16=%x\n”,a,a,a;printf“c10=%d,c8=%o,c16=%x,cc=%c\n”c,c,c,c;d++;printf“d10=%d,dc=%c\n”d,d;输出结果:2.循环结构main{ int y=9,k=1;for;y>0;y--{ify%3==0{printf“%4d”--y;continue;}k++;}printf“\nk=%4d,y=%4d\n”,k,y;} 输出结果:3.数组include “stdio.h”main{int k,j;Int a={3,-5,18,27,37,23,69,82,52,-15};fork=0,j=k;k<10;k++ifak>ajj=k;printf“m=%d,j=%d\n”,aj,j;} 输出结果为:4.字符输出main{char p,s=“ABCD”;for p=s;p<s+4;p++printf“%s\n”,p;} 输出结果:五、按题目要求写出可运行程序:19分1.求元素个数为10的一维数组元素中的最大值和最小值;2.将矩阵 9 7 5 倒置为 9 3 43 1 2 7 1 64 6 85 2 83.编写函数:输入两个正整数m,n,求它们的最大公约数和最小公倍数;编写程序如下:C语言程序设计试题四答案一、单项选择题:1.D2.B3.D4.B5.B6.B7.A8.B9.B 10.C11.A 12.C 13.B 14.C 15.A 16.D二、填空题:1.字母、数字和下划线2.双引号3.264.55.三36.1,207.1 8.顺序结构、选择结构、循环结构 9.类型不同10.存储在外部介质上的相关数据集合;三、将下列程序补充完整;1.1a+b<c||b+c<a||a+c<b2sqrttt-at-bt-c2.3”%d%d”,&n1,&n2 4 j=n1;n1=n2;n2=j;5j%3==03.6k=2;k<=sqrtx;k++ 7 j=a;a=b;b=j;8primej4.9scanf“%s”,&n10else if x==05.11ch==`Q`||==`q`12ch>=`A`&&ch<=`Z`||ch>=`a`&&ch<=`z`四、按格式写出程序运行结果;1.a10=1,a8=1,a16=1c10=65,c8=101,c16=41,cc=Ad10=98,dc=b2.8 5 2k=4 y=03.m=82,j=74.ABCDBCDCDD五、按题目要求写出可运行程序;1.include “stdio.h”main{ int term10;int i,max,min;printf“请输入10个整数:”;fori=0;i<10;i++scanf“%d”,&termi;max=term0;min=term0;fori=0;i<10;i++{iftermi<minmin=termi;iftermi>maxmax=termi;}printf“max=%d,min=%d”,max,min;} 2. mainint j,k,x;int a3={9,7,5,3,1,2,4,6,8};forj=0;j<3;j++fork=j+1,k<3;k++{x=ajk;ajk=akj;akj=x;}forj=0;j<3;j++{fork=0,k<3;k++printf“%4d”,ajk;}}3.include “stdio.h”int gcdint m,int,n{ifn==0returnm;else returngcdn,m%n;int timint m,int,nreturnmn/gcdm,n;}main{int m,n,g,t;printf“enter two number please:”;scanf“%d,%d”,&m,&n;g=gcdm,n;t=timm,n;printf“gcdm,n=%d\n”,g;printf“timm,n=%d\n”,t;}。

4级C语言笔试试题(含参考答案)

4级C语言笔试试题(含参考答案)

4级C语言笔试试题(含参考答案)-CAL-FENGHAI.-(YICAI)-Company One19月全国计算机等级考试二级笔试试卷C语言程序设计一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))(1)软件是指A)程序 B)程序和文档C)算法加数据结构 D)程序、数据和相关文档的集合(2)软件调试的目的是A)发现错误 B)改正错误C)改善软件的性能 D)验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承 B)对象的多态C)对象的封装 D)对象的分类(4)下列叙述中,不符合良好程序设计风格的是A)程序的效率第一,清晰第二 B)程序的可读性好C)程序中有必要的注释 D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式y=(x≥0)(x<0)若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#include<stdio.h>main(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。

奥鹏北语14秋《C语言程序设计》作业4满分答案

奥鹏北语14秋《C语言程序设计》作业4满分答案
B.指向函数的入口地址
C.表示函数的类型
D.表示函数返回值的类型
?
正确答案:B
6.说明一个结构体变量时系统分配给它的内存是。
A.各成员所需要内பைடு நூலகம்量的总和
B.结构体中第一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.结构中最后一个成员所需内存量
?
正确答案:A
7.设有以下说明语句struct stu { int a;float b;} stutype;则下面的叙述不正确的是。
A. 4
B. 1
C. 2
D. 5
?
正确答案:A
4.当说明一个共用体变量时系统分配给它的内存是。
A.各成员所需要内存量的总和
B.共用体中第一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.共用体中最后一个成员所需内存量
?
正确答案:C
5.已有定义int(*p)();指针p可以。
A.代表函数的返回值
A. struct是结构体类型的关键字
B. struct stu是用户定义的结构体类型
C. stutype是用户定义的结构体类型名
D. a和b都是结构体成员名
?
正确答案:C
8. A. A
B. B
C. C
D. D
?
正确答案:C
9. A. A
B. B
C. C
D. D
?
正确答案:D
10. A. A
B. B
14秋《C语言程序设计》作业4
一,单选题
1.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的结果为。
A. 4
B. 3

c4c语言考试题目

c4c语言考试题目

四━━━━━━━━━━━━━━━一、判断共10题(共计20分)━━━━━━━━━━━━━━━第1题(2.0分)题号:24对于数值型数组,C语言中只能逐个引用数组元素而不能一次引用整个数组。

答案:Y第2题(2.0分)题号:1279循环结构while、do while、for不可以互相嵌套.答案:N第3题(2.0分)题号:11500x1A、219、0678都是合法的常量.答案:N第4题(2.0分)题号:1251在定义链表结点的数据类型中,至少要包括一个指针类型的成员.答案:Y第5题(2.0分)题号:1234函数嵌套就是在定义函数的函数体中调用被定义的函数本身.答案:N第6题(2.0分)题号:1112字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面.答案:N 第7题(2.0分)题号:1276若定义int a[4]={1,2,3,4};若引用最后的元素,写法为a[4].答案:N第8题(2.0分)题号:1282字符型数据与整型数据之间可以互相赋值和运算.答案:Y第9题(2.0分)题号:1140链表中的任何一个结点,必然要包括一个指针域.答案:Y第10题(2.0分)题号:1273在if语句的定义:if(表达式) 语句中,只有当表达式的值为1时才执行其后的语句.答案:N━━━━━━━━━━━━━━━━━二、单项选择共15题(共计30分)━━━━━━━━━━━━━━━━━第1题(2.0分)题号:211下面程序的输出结果是( )main(){int a[8]={8,7,6,5,4,3,2,1},*p; p=a+3;printf("%d",p[2]);}A:3B:4C:5D:2答案:A第2题(2.0分)题号:504执行以下程序段后,输出结果和a的值是()。

int a=10;printf("%d",a++);A:10 和 10B:10 和 11C:11 和 10D:11 和 11答案:B第3题(2.0分)题号:632以下叙述正确的是()。

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

《程序设计基础》考试试卷四班级姓名学号一、选择题(每题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语句的讨论中,只有()是正确的。

A. break语句是switch 语句的一部分B. 在switch语句中可以根据需要使用或不使用break语句C. switch语句中必须使用break语句D. 以上三种说法都不正确。

12.设main函数中有定义float a[8],此外,程序中还定义了以下函数void printarray(float a[8],int n){ int i; for(i=0;i<n;i++)printf(“%f ”,a[i]) ;}并将其放在调用语句之后,则以下说法错误的是( )A. 调用之前的函数声明可以写为void printarray(float a[], int n);B. 调用之前的函数声明可以写为void printarray(float [], int) ;C. 调用语句可以为printarray(a[8],8);D. 调用语句可以为printarray(a,8);13.以下说法正确的是( )A. 若在某函数中用stati c声明一个局部变量,则该变量在此函数外也起作用B. 若用stati c声明一个函数,则该函数可被其它文件中的函数调用C. 若用stati c声明一个函数,则该函数不能被其它文件中的函数调用D. 以上说法都不正确14.设int i=5,且变量i的地址是2001,int *p=&i,变量p的地址是2011,则表达式&*p的值为()A. 5B. 2001C. 2011D. 无法确定15. 若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确是( )。

struct pupil{char name[20];int age;int sex;}pup[5],*p;A. scanf("%d",p->age);B. scanf("%s",pup[0].name);C. scanf("%d",&pup[0].age);D. scanf("%d",&(pup[1].sex));16 有以下程序段int k=0while(k=1)k++;则while 循环执行的次数是( )A. 无限次B. 有语法错,不能执行C. 一次也不执行D. 执行1次 17有定义struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是( ) A. struct 结构体类型的关键字 B. example 是结构体类型名C. x,y ,z 都是结构体成员名D. struct ex 是结构体类型18 若fp 是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是()A. EOFB. -1C. 非零值D. NULL 19 以下程序执行后sum 的值是()void min(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf("%d\n",sum); }A.15B. 14C. 不确定D.020 当调用函数时,实参是一个数组名,则向函数传送的是( )A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值二、读程序写执行结果(每题5分,共20分)1.#include<stdio.h>void main() {int x=3 do{printf("%d ",x-=2); }while (!(--x)); } 3、void main() {double d=3.2; int x,y; x=1.2;y=(x+3.8)/5;printf(“%d \n”,d*y); }三、程序改错题(每题5分,共20分)1、以下程序的功能是:给r 输入数据后计算半径为r 的圆面积s 。

#include <stdio.h> #define PI 3.144.#include<stdio.h> void main() { inta[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a;printf("%d\n",*p+9); }2、#include<stdio.h>void swap(int x, int y) { int temp; temp=x;x=y; y=temp;} void main () { int a[]={3,5}; swap a[0], a[1]);printf(“%d,%d \n ” ,a [0],a[1]);}void main(){ int r; float s; scanf("%d",r); s=PI*r^2; printf("s=%f\n",s);}2、以下程序用语实现分段函数cost= 的功能#include<stdio.h> void main(){ int n; float cost;if(n>5) cost=1; if(n>3) cost =0.7; else cost=0.5;}3、以下程序用于从终端教授一个字符赋给c ,如c 不为换行符就循环输出,为换行符则停止#include<stdio.h> void main(){c=getchar(); while(c!=‟\n ‟)printf(“%c ”,c);}4、以下程序用于实现矩阵的转置#include<stdio.h> void main(){int a[][2]={{1,2},{3,4}}; int i,j,temp; for(i=0;i<2;i++) for(j=0;j<2;j++){ a[i][j]=a[j][i]; a[j][i]= a[i][j];} }四、程序填空(共10分)1.本程序用于求100-500之间的素数并输出# include<stdio.h> #include<math.h> void main(){int m, i, n; float k;m=100;1 当n>5 0.7 当 3<n<5 0.5 当n<3while(m<=500){;for(i=2; i<=k; i++)if(m%i= =0) ;if( i>k ){printf(“%d ”,m);n++;}m++;}}2.本程序用于动态建立一个链表。

链表中每个结点包括学号、成绩及指向下一结点的指针,整个链表共10个结点。

#include<stdio.h>#include<malloc.h>#define NULL 0struct student{ int num;float score;;};void main( ){ struct student *head=NULL,*p1,*p2;int n=0;do{p1= ;printf(“请输入学生的学号和成绩:\n”);scanf(“%d,%f”,&p1->num,&p1->score);n=n+1;if(n= =1) head=p1;else p2->next=p1;;}while(n<10);p1->next=NULL;}五、编程题(画N-S图或PAD图,每题10分,共30分)1.编程求1-1/3+1/5-1/7+……+1/97-1/99的值并输出。

2.定义一8个元素的整数数组,读入各元素值后用选择法由小到大排序,之后输出排序结果。

3.读入正整数n,用递归法和非递归法求F(n)并输出,已知F(1)=1; F(2)=1; 当n>2时F(n)=F(n-1)+F(n-2)。

相关文档
最新文档