09-10-2《C语言程序设计》及《程序设计与算法语言》期未考试模拟题

合集下载

C语言程序设计期末考试试题 含答案

C语言程序设计期末考试试题 含答案

C语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. floatC. doubleD. string答案:D2. 在C语言中,for循环和while循环的区别是:A. for循环适用于已知循环次数,while循环适用于未知循环次数B. for循环必须有循环条件,while循环可以没有循环条件C. for循环只能用于数字计算,while循环可以用于任意类型的循环D. for循环和while循环没有区别答案:A3. 下列哪个选项是合法的变量名:A. 123varB. _varD. %var答案:B4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符:A. %fB. %cC. %dD. %s答案:C5. 下列代码中,输出的结果是什么:```cint a = 5;printf("%d\n", a++);printf("%d", a);```A. 6 5B. 6 6C. 5 6答案:A6. 下列哪个选项中的函数可以用来比较两个字符串是否相等:A. strcmpB. strcatC. strlenD. strcpy答案:A7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存:A. .cB. .hC. .txtD. .exe答案:B8. 下列代码中,缺少的语句是什么:```cint a = 10;int b = 20;int c = a + b;```A. return c;B. printf("%d", c);C. break;D. continue答案:B第二部分:编程题(每题30分,共60分)题目1:编写一个C程序,实现求取一个整数数组中元素的平均值。

要求通过函数实现,函数原型为:float average(int arr[], int length),其中arr为整数数组的首地址,length为数组的长度。

C语言程序设计模拟卷

C语言程序设计模拟卷

华东理工大学继续教育学院成人教育《C语言程序设计》课程期末模拟试卷一、选择题1. C语言并不是非常严格的算法语言,以下关于C语言不严格性的叙述中,不正确的是( D):A大写字母和小写字母的意义相同B有些不同类型的变量可以在一个表达式中运算C表达式左边变量和右边的值可以是不同类型的D同一个运算符号在不同的场合可以有不同的含义2. 在C语言程序中,以下说法正确的是(B)。

A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套3.若有以下定义和语句,则输出结果是( B)main(){ float x;int i;x=5.6;i= (int)x;printf(“x=%f,i=%d”,x,i);}A 5.6 4B 5.6 5C 5 5D 6 64.若有以下定义和语句,则输出结果是( B)char s[12]="verygood";printf("%d",strlen(s));A 12B 8C 7D 65. 下列运算符优先级最高的是( D)。

A >=B &&C !D ++6. 设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是(D)。

A 552B 144C 264D -2647. 以下关于C语言字符数组的说法中,不正确的是( B):A在C语言中可用字符数组存放字符串B可以用关系运算符对字符数组进行比较C字符数组中的字符串可以整体输入、输出D字符数组中的字符串可以按单个字符输入、输出8. 在C语言中,回车符是( C)。

A '\n‟B '\t‟C '\r‟D '\b‟9. 设a=2,b=3,执行表达式c=b*=a-1;变量c的值是( B)A 5B 3C 2D 410.若在C语言程序中使用以下的二维数组定义语句并赋以部分初值,其中不正确的定义只有( B):A int a[2][3]={{4},{5,6}}B int a[2][3]={{4},{5},{6}}C int a[2][3]={4,5,6}D int a[2][3]={{4},5,6}11. 设有如下程序段,下面描述中正确的是(C)。

C语言程序设计模拟试卷及答案(2)

C语言程序设计模拟试卷及答案(2)

C语言程序设计模拟试卷及答案(2)C语言程序设计模拟试卷及答案(2)一、填空题1、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______.2、C语言中基本的数据类型有:______、______ 、______ .3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是______.4、共用体和结构体的定义格式类似,不同点是______.5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a 的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______.6、有语句:char A[ ]={“I am a student”};该字符串的长度是______,A[3]= ______.7、符号“a”和‘a’的区别______.8、下列程序的输出结果是______.int ast(int x,int y,int * cp,int * dp){ *cp=x+y; *dp=x-y; }main(){ int a=4,b=3,c,d;ast(a,b,&c,&d);printf(“%d,%d/n”,c,d);}二、选择题1、以下选项中属于C语言的数据类型是()。

A. 复合型B. 双精度型C. 逻辑型D. 集合型2、以下说法中正确的是()。

A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。

A. hot_doB. cat1C. _priD. 2ab4、下列描述中不正确的是()。

A、字符型数组中可能存放字符串。

B、可以对字符型数组进行整体输入、输出。

C、可以对整型数组进行整体输入、输出。

C程序设计期末考试习题(含答案)

C程序设计期末考试习题(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_3.以下定义语句中正确的是( )。

A) char a='A'b='B'; B) float a=b=10.0;C) int a=10,*b=&a; D) float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。

A) a++; B) b++ C) c++; D) d++;5.以下4个选项中,不能作为一条C语句的是( )。

A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;6.有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。

A) p=1; B) *q=2; C) q=p; D) *p=5;8.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;C) scanf(“%d”,&pa) ; D) scanf(“%d”,*pa);9.若有说明:char *language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比较的是()。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

《C语言程序设计》期末笔试模拟试卷及参考答案

《C语言程序设计》期末笔试模拟试卷及参考答案
11.若有定义:
typedef char* string;
#define str char *
int a=4;
struct{
int x,*y;
}z={10,&a},*p=&z;
则如下不等价的是:(11)A
A.string name,sign;与 strname,sign; B.*p->y++与*(p->y++)
};
B.intb[3][3]={{1,2,3},4,5,6,7,{8,9}};
C. float c[sizeof(sin(1))]={1,‘\n’};
D.char ch[ ][10]={“Beijing”,“Nanjing”},*p[ ]={ ch[0],ch[1]};
2.如下哪个程序语法、语义都正确,且能获得正确的运行结果(2)A
case red : col++;
case green : col++;break;
case red+green : col++;
}
printf(“%d”,col);
}
13.已知某函数内有声明:“int a[3][3], (*ptr)[3]=a, *p=a;”,则下列(13)能正确引用数组元素a[1][2]。B
5.
6.
7.
3. 若有声明:enumd{e,s,w,n}c=s;则表达式“ops”+c值的类型是(3)。B
A.enumdB.char *C.intD.int *
4.下列叙述中除(4)之外都是正确的。B
A.引用函数说明中指定的形参名,不必与函数定义中对应的形参名相同。

C语言程序设计模拟试题期末考试卷AB卷(附答案)

C语言程序设计模拟试题期末考试卷AB卷(附答案)

《C语言程序设计》模拟试卷A一、单项选择题(每题2分,共20分)1、下列有关C语言的叙述中错误的是()。

A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。

A) MAIN B) _HJ C) 2ong D) LINE13、以下能正确定义一维数组的是()。

A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};4、执行下列程序段后输出的结果是()。

x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *5、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()。

A) 9 B) 8 C) 5 D) 36、若用数组名作为函数调用的实参,则传递给形参的是()。

A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数7、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()。

A)void B)double C)int D)char8、下面不能正确进行字符串赋值操作的语句是( )。

A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";9、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是 ( )。

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

一、单项选择题(本大题共20题,每题2分,共40分)1.以下不是C语言的特点的是()A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2.以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、ab。

c3.一个C语言程序是由()A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4.一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是()A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a'+i*f值的数据类型为()A、intB、floatC、doubleD、不确定6.在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7.有如下程序,输入数据:12345M678<cR>后(<CR〉表示回车),x的值是().#include<stdio。

h〉main(){intx;floaty;scanf(”%3d%f”,&x,&y);}A、12345B、123C、45D、3458.若有以下定义inta,b;floatx,则正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int (x);9.以下程序的执行结果是()#include〈stdio.h〉{inti=10,j=10;printf(”%d,%d\n”,++i,j——);}A、11,10B、9,10C、11,9D、10,910.巳知字母A的ASCII码是65,以下程序的执行结果是()#include<stdio。

h>main(){charc1='A',c2='Y’;printf("%d,%d\n”,c1,c2);A、A,YB、65,65C、65,90D、65,8911.下列运算符中优先级最高的是()A、<B、十C、%D、!=12.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是()。

完整C语言程序设计期末考试试题含答案推荐文档

完整C语言程序设计期末考试试题含答案推荐文档

C 语言程序设计期末考试试题及其答案一、单项选择题(本大题共20 题,每题 2 分,共40分)1、以下不是C 语言的特点的是( )A、 C 语言简洁、紧凑B、能够编制出功能复杂的程序C、 C 语言可以直接对硬件进行操作D、 C 语言移植性好2、以下不正确的C 语言标识符是( )A、ABC B 、abc C、a_bc D、ab.c3、一个C 语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5 个特性,对另外4 个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a 是整型,f 是实型,i 是双精度型,则表达式10+‘a'+i*f 值的数据类型为( )A、intB、float C 、double D、不确定6在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678V。

只>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是()A、a=1,b=2B、b++;C 、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10; printf("%d,%d\n",++i,j--);}A 、11,10B 、9,10C 、11,9D 、10,910、巳知字母 A 的ASCII 码是65,以下程序的执行结果是( ) #include<stdio.h>main() { char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、vB、十C、%D、!=12、设x、y和z是int型变量,且x = 3, y = 4, z= 5,则下面表达式中值为0 是( ) 。

C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言考试期末考试复习题及答案一、选择题(1)一个C语言程序总是从()开始执行A)书写顺序的第一个函数B)书写顺序的第一条执行语句C)主函数main( )D)不确定(2)设int x=3,y=4,z=5,则下列表达式中的值为0的是()A) ‘x'&&’y’B)x||y+z&&y—z C) x〈=y D)!((x〈y)&&!z||1)(3)执行以下程序段后,i的值是()int i=10;switch(i+1){case 10:i++; break;case 11:++i;case 12:++i;break;default :i=i+1;}A) 11 B)13 C) 12 D) 14(4)语句while(!e);中的条件!e等价于()A)e==0 B)e!=1 C) e!=0 D)运行时出错(5)用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是()A)随机值B) 0 C) 1 D)F(6)在执行char str[10]=“china\0”;strlen(str)的结果是()A)5 B) 6 D) 7 D 9(7)若有定义,char *p=”computer";则语句printf(“%c”,*(p+2))运行结果是()A) 随机值B) m C)o D)omputer(8)在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为()A) 8 B) 4C)5 D)编译出错(9)在说明一个结构体变量时系统分配给它的存储空间是()A)该结构体中第一个成员变量所需存储空间B)该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和Key:CDCAB ABBD1。

用C语言编写的代码程序A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2。

C语言程序设计期末考试卷及答案

C语言程序设计期末考试卷及答案

C语言程序设计期末考试卷及答案考试时间:3小时满分:100分一、选择题(每题2分,共20分)1. 下列哪个不是C语言的关键字?A. intB. floatC. doubleD. printf答案:D2. 在C语言中,用于判断两个数是否相等的运算符是:A. >B. <C. ==D. >=答案:C3. 下面哪个选项是正确的函数声明方式?A. void sum(int a, b);B. int multiply(int x, int y);C. add(int a, int b);D. double divide(int a, int b);答案:B4. 下面哪个函数原型声明是错误的?A. void calculate(int a, int b);B. int calc(int x);C. int comp(float x, float y);D. double calculate(int x, int y);答案:D5. 在C语言中,用于循环执行某段代码的关键字是:A. ifB. elseC. switchD. while答案:D6. 下面哪个选项是正确的数组声明方式?A. int[5] numbers;B. numbers[5] int;C. int numbers[5];D. array = int[5];答案:C7. 在C语言中,用于读取用户输入的函数是:A. puts()B. scanf()C. print()D. read()答案:B8. 下列哪个运算符用于访问结构体成员?A. .B. ,C. :D. ;答案:A9. 在C语言中,用于定义常量的关键字是:A. defineB. constantC. constD. variable答案:C10. 下面哪个选项是正确的条件语句?A. if (x > 10) { printf("x大于10"); }B. if x > 10 { printf("x大于10"); }C. if x > 10 printf("x大于10");D. if x > 10 then printf("x大于10");答案:A二、编程题(共80分)题目一:请编写一个C语言程序,要求从键盘上输入一个整数n,然后计算并输出1到n之间所有整数的和。

《C语言程序设计》期末考试试卷(答案卷)

《C语言程序设计》期末考试试卷(答案卷)

第1章C语言概述第2章程序的灵魂----算法一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。

)2.1以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义正确答案: A2.3 以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面正确答案: D2.6 下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用正确答案: D2.7 以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符正确答案: D2.8 以下说法错误的是A)一个算法应包含有限个步骤B)在计算机上实现的算法是用来处理数据对象的C)算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D)算法的目的是为了求解正确答案: C2.9 算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是A)有零个输入或多个输入B)高效性C)有穷性D)确定性正确答案: B2.10 下列关于C语言的说法不正确的是A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能B)C语言中的每一条执行语句都必须用分号结束,分号不是C语言的一部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地方D)命令行后面不能加分号,命令行不是C语言的语句正确答案: B2.11 以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序正确答案: C2.12 C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,break C)for,while,do-while D)if,for,continue 正确答案: A二、填空题(请将每一个空的正确答案写在答题卡相应序号后。

C语言程序设计期末考试试卷及答案1

C语言程序设计期末考试试卷及答案1

C语言程序设计期末考试试卷及答案1------------------------------------------作者------------------------------------------日期一、单项选择题 ♉♉♉♉♉♉是合法的用户自定义标识符。

✌、 ♌♌ 、♐●☐♋♦ 、♐❒ 、 ♉♓♦♦ 若变量已正确定义并赋值,表达式♉♉♉♉♉♉不符合 语言语法。

✌、♋✉♌♍ 、  、 ♌ 、♋♌♍ ♉♉♉♉♉是不正确的字符常量。

✌、 ⏹ 、  、✂♋✂ 、  在  程序中,用♉♉♉♉♉表示逻辑值“真”。

✌、 、非  的数 、非  的数 、 大于  的数 ♉♉♉♉♉♉把⌧、⍓定义成♐●☐♋♦类型变量,并赋同一初值。

✌、♐●☐♋♦ ⌧ ⍓ 、♐●☐♋♦ ⌧ ⍓✉、♐●☐♋♦ ⌧ ⍓⌧ 、♐●☐♋♦ ⌧⍓ 若变量已正确定义,表达式♉♉♉♉♉♉的值不是 。

✌、  、  、♋ 、 ♈ 若变量已正确定义,语句“♓♐☎♋♌✆  ♏●♦♏ ”和♉♉♉♉♉♉等价。

✌、 ☎♋♌✆✍ 、 ♋♌、 ♋♌ 、♋♌ ✍   ♉♉♉♉♉,则♋和♌的值都是 。

♦♍♋⏹♐☎✂♋♎ ♌♎✂♋ ♌✆;✌、   、   、♋ ♌ 、♋ ♌ 下列程序的输出结果是♉♉♉♉♉。

♐◆⏹☎♓⏹♦ ♋ ♓⏹♦ ♌ ♓⏹♦ ♍✆♍ ♋✉♌ ❝❖☐♓♎ ❍♋♓⏹☎ ✆♓⏹♦ ♍♐◆⏹☎♍✆☐❒♓⏹♦♐☎❾♎⏹❾♍✆❝✌、 、 、 、无法确定 在 程序中,若对函数类型未加说明,则函数的隐含类型为♉♉✌♉♉♉。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

《C语言程序设计》模拟试题一

《C语言程序设计》模拟试题一

《C语言程序设计》模拟试题一《C语言程序设计》模拟试题一一、选择题(1) C(2) A(3) D(4) C(5) B(6) C(7) D(8) C(9) B(10)A一、选择题(每题1.5分,共45分)1. 以下选项中属于C语言的数据类型是A) 复数型 B) 逻辑型 C) 双精度型 D) 集合型2. 在C语言中,不正确的int类型的常数是A) 32768 B) 0 C) 037 D) 0xAF3. 语句:printf("%d",(a=2)&&(b= -2));的输出结果是A) 无输出 B) 结果不确定 C) -1 D) 14. 下列描述中不正确的是A) 字符型数组中可以存放字符串B) 可以对字符型数组进行整体输入、输出C) 可以对整型数组进行整体输入、输出D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值5. 设有如下定义:int x=l,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);C) a=c=b;7. 以下程序的输出结果是A) 10,1 9,2 B) 9,8 7,6 C) 10,9 9,0 D) 10,10 9,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( ){ inti,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]);p[i]=*(p+i)}9.以下程序的输出结果是A)6 B) 6789 C) '6' D) 789main( ){ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;a是字符串=“1234567890”inti;i=8;p=a+i; p指向第九个元素的地址printf("%s\n",p-3);%s输出字符串10. 以下程序的运行结果是A) 运行后报错 B) 6 6 C) 6 12 D) 5 5#include "stdio.h"main( ){int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,};int *p=a+5,p指向第六个元素的地址*q=NULL;q的地址为空不能赋值* q=*(p+5);错误printf("%d %d \n",*p,*q);}(11)D(12)B(13)D(14)A(15)C(16)D(17)C(18)A(19)B(20)B11. 以下说法中正确的是A) #define和printf都是C语句B) #define是C语句,而printf不是C) printf是C语句,但#define不是D) #define和printf都不是C语句#define是预处理命令,printf是标准库里的函数printf();是12. 语句:printf("%d \n",12 &012);的输出结果是按位与,012是八进制,全部转换二进制A) 12 B) 8 C) 6 D) 01213. 能正确表示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>014. 以下程序的输出结果是A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}15. 若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是A) p+1 B) a+1 C) a++==(a=a+1) D) ++p16. 以下程序的输出结果是A) 17,021,0x11 B) 17,17,17C) 17,0x11,021 D) 17,21,11main( ){ int k=17;printf("%d,%o,%x \n",k,k,k);}17. 以下程序的输出结果是A) -1 1 B) 0 1 C)1 0 D) 0 0{ int a= -1,b=1,k;if((++a<0)&& ! (b-- <=0)) 左边为0停止printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}18. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A) *p=&a;*scanf("%ld",p);B) p=(long *)malloc(8); scanf("%ld",p);C) scanf("%ld",p=&a);D) scanf("%ld",&a);19. 以下选项中,能定义s为合法的结构体变量的是A) typedefstructabc B) struct{ double a; { double a;char b[10]; char b[10];} s; } s;C) struct ABC D) typedef ABC{ double a; { double a;char b[10]; char b[10];} }ABC s; ABC s;(21)C(22)C(23)D(24)C(25)B(26)D(27)A(28)D(29)B(30)A20. 下面程序把数组元素中的最大值放入a[0]中。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( B)A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是(D )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由(B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是(B )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为(C )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是(D )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( B) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是(B )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( A)#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( D)#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( C)A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( D) 。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 2 分,共 40 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

4、若有定义:int a=5, b=2; 则表达式 a/b 的值是()A 25B 2C 20D 3答案:B解释:C 语言中,两个整数相除结果为整数,舍去小数部分。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2对应的值是 3 。

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

C语言程序设计期末考试卷及答案.doc

C语言程序设计期末考试卷及答案.doc

..C语言程序设计期末考试卷及答案一、单项选择题。

从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内( 每小题1分,共计30分)。

1.一个C 语言程序的执行是从( )。

A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main 函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是( )。

A )switch B )printf C )default D )case3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a 的值是( )。

A )24B ) -24C )4D )164.已知int i;float d;,则正确的表达式是( )。

A )(int d)B )int(d)%iC )(int)d%iD )int(d%i)5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是( )。

A )5B )16C )27D )386.下列选项中合法的字符型常量是( )。

A )"a"B )'\n'C )"\n"D )a7.下面程序的运行结果是( )。

#include <stdio.h> void main( ) { int k = 15;printf("k = %d,k = %o,k = %x\n",k,k,k); }A )k = 15,k = 15,k = 15B )k = 15,k = 17,k = 17C )k = 15,k = 017,k = 0xfD )k = 15,k = 17,k = f8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是( )。

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

《C语言程序设计》及《程序设计与算法语言》期未考试模拟题一、单项选择题(本题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.一个C语言程序的执行是从( )。

A.main( )函数开始,直到main( ) 函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束2.若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是( )。

A. *pB. a[10]C. *aD. p-a3.若有定义:int x; 要将x强制转换为双精度型,应该写成( )。

A. x(double)B. (x)doubleC. (double)xD. x*double4.已知:int a=5; 执行以下的程序段后输出结果为( )。

do{ printf("%d",a--);} while (!a);A. 5B. 4C. 陷入死循环D. 5 4 3 2 15. 将两个字符串连接起来组成一个字符串时,选用( )函数。

A. strlen()B. strcpy()C. strcat() C. strcmp()6. 对于C语言的函数,下列叙述中正确的是( )。

A.函数的定义不能嵌套,但函数调用可以嵌套B.函数的定义可以嵌套,但函数调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都可以嵌套7.下述循环的循环次数是( )int k=2;while(k=0){ printf("k,");k--;}A、无限次B、0次C、1次D、2次8.下列字符列中,合法的浮点型常量是:( )A. 457B. 6e5.3C. e7D. 123e69.若用一维数组名作为调用函数时的实参,则传递给形参的是:( )A 数组首元素的地址 B. 数组首元素的值C 数组元素的个数 D. 数组中全部元素的值10.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){ printf("%d\n",a[1][0]+b[0][0]);}后输出的结果是( )A.0B.1C.2D.3二、填空题(本大题共10小题,每小题2分,共20分)1. 执行循环结构或switch结构中的语句能够立即退出该结构。

2. 使用两个下标的数组称为数组。

3. 复合语句是由一对 _______括起来的若干语句组成的。

4. 若有以下定义语句:int a=5; printf("%d ",a++); 则输出结果是____________。

5. 若定义x和y为double型变量,且x=1,则表达式 y=x+3/2的值是__________。

6. C语言中有两种数据类型:和可以使用signed修饰符。

7. 初始化值是0.618的双精度变量a的定义形式为____________。

8. 设char str[]="This_is_a_book!";则数组str的长度应是____________。

9.为了避免可能出现的歧义,C语言对if…else语句配对规则规定为:else总是与__________________ 配对。

10. 不能进行%运算的数据类型是__________________.三、分析程序,写出程序运行结果(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到各题右侧的空白处,若输出结果为不确定的地址值,请用文字在相应输出处注明1.int main(){int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("%d,%d,%d\n",b,c,d);return 0;}2.#include <stdio.h>int main(){int x=2,y=5,z=1,i=1;do{z=z*x;i=i+1;}while (i<=y);printf"z=%d", z) ;}3.#include <stdio.h>int main(){long a=20,b=40,l=0;int m,i;for(m=a; m<=b; m++){for(i=2; i<m; i++)if(m%i==0)break;if(i==m){printf("%5d ",m);}}}4.#include <stdio.h>int scmp(const char* str1,const char* str2){char* p1=(char*)str1;char* p2=(char*)str2;while(*p1 && *p1==*p2){p1++;p2++;}return *p1 - *p2;}int main(){char* s1="FEDA";char* s2="FEDC";printf("%d\n",scmp(s1,s2));}四、程序填充题(本大题共4小题,每小题6分,共24分)根据问题说明,分析下列程序,将程序中空缺的语句补充完整,使其能正确运行。

1. 以下rev函数翻转参数数组a里元素的位置,数组a的元素个数为n。

void rev(int n, int a[]) {int x, i, j;_________________while(i < j) {x = a[i];a[i] = a[j];a[j] = x;_________________}}int main () {int i, b[] = {1, 2, 3, 4, 5, 6, 7};rev(7, b);printf("After reversion:\n");for (i = 0; i < 7; ++i)printf("b[%d] = %d\n", i, b[i]);return 0;}2.n个数,已按从小到大顺序排列. 在主函数输入一个数,调用一个函数,它把键入的数插入到原有的数列中,保持大小顺序,输出插入前后的两个数组,并将被挤出的最大数(有可能是被插入数)返回给主函数输出.#include <stdio.h>int Insert(int a[], int n, int value);int main(){int array[]={12,29,34,56,72,83,88,91};int i,size=sizeof(array)/sizeof(*array);int aValue,max;printf("\nplease input a number :\n");scanf("%d",&aValue);max= Insert(array,size,aValue);printf("\n最大数: %d\n",max);printf("插入后的数组:\n");for(i=0; i<size; i++)printf("%d ",array[i]);system("pause");return 0;}int Insert(int a[], int n, int value){int i,retValue;if(a[n-1]<=value)return value;retValue=for(i=n-2; i>=0&&a[i]>value; i--){a[i+1]=}a[i+1]=value;return retValue;}3.下面程序输入一个整数m, 判断其是否为素数。

#include <stdio.h>#include <math.h>int main(){int i;long m;double sqrtm;printf("please input a number:\n");scanf("%d",&m);sqrtm=sqrt(m);for(i=2; i<=sqrtm; i++)if( __________________ )break;if( __________ )printf(" %d is prime.\n",m);elseprintf(" %d isn ’t prime.\n",m);}4.#include <math.h>#include <stdio.h>main(){double pi, sum = 0, term, sign = 1.0; int count = 0, n = 1;term = 1.0;for (;fabs(term) >= 1e-4;){term = sign / n;sum = sum + term;count ++;sign =n = n + 2;}pi =printf("pi = %f\ncount = %dn=%d\n", pi, count,n); system("pause");}五、程序设计题(共2小题, 每小题10分,共20分)。

1、编程计算组合数)!(!!k m k m C p k m -==的值。

2、利用公式ij ij ij b a c +=计算n m ⨯阶矩阵A 和n m ⨯阶矩阵B 之和,已知ij a 为矩阵A 的元素,ij b 为矩阵B 的元素,ij c 为矩阵C 的元素(i=1,2,…,m;j=1,2,…,n )。

相关文档
最新文档