常熟理工C语言题库

合集下载

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

指针是一个变量,它存储另一个变量的内存地址。

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

最新常熟理工学院-C语言-考试样卷

最新常熟理工学院-C语言-考试样卷
A.&a[1]B.++aC.&a[0]+1D.a+l
13.若有如下声明和语句:
int t[3][3], *pt[3], k;
for(k=0; k<3;k++) pt[k]=&t[k][0];
则表达式*(*(pt+1)+2)所引用的是()。
A.t[2][0]B.&t[2][0]C.t[1][2]D.&t[1][2]
(二)创业优势分析
在上海,随着轨道交通的发展,地铁商铺应运而生,并且在重要商圈已经形成一定的气候,投资经营地铁商铺逐渐为一大热门。在人民广场地下的迪美购物中心,有一家DIY自制饰品店--“碧芝自制饰品店”
虽然调查显示我们的创意计划有很大的发展空间,但是各种如“漂亮女生”和“碧芝”等连锁饰品店在不久的将来将对我们的创意小屋会产生很大的威胁。
D.fun函数的形式参数不能取名为a
11.若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是()。
A.实参和其对应的形参占用同一存储单元
B.形参不占用存储单元
C.同名的实参和形参占用同一存储单元
D.形参和实参占用不同的存储单元
12.已有声明”int a[5];”,以下表达式中不能正确取得a[1]指针的是()。
C.strcpy(s2, s1);D.strcpy(s2, s3);
7.执行以下程序后的结果是()。
#include <stdio.h>
void main()
{int x=3;
Do
{
printf("%d\t", x=x-3);
}while(!x);
}

c语言基础试题库及答案

c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

常熟理工学院 单片机样卷(三套总汇)

常熟理工学院 单片机样卷(三套总汇)

院(系)班级学号(9位)姓名———————————阅————卷————密————封————装————订————线——————————常熟理工学院《单片机技术》考试试卷(一)使用班级: 试题总分: 100 分考试时限:120 分钟一、填空题(本大题共20分,每空1分)1、MCS-51单片机的一个机器周期包含个状态,每个状态又分为个节拍,即一个机器周期等于个振荡周期,当振荡器的振荡频率为12MHz时,一个机器周期的时间为。

2、MCS-51单片机的字长是位。

3、MCS-51单片机的三总线结构包括、和。

4、MCS-51单片机片内DPTR寄存器是一个位寄存器。

5、MCS-51单片机中PC和DPTR都用于提供地址,但PC是为访问____ ____存储器提供地址,而DPTR是为访问_____ ___存储器提供地址。

6、MCS-51内部提供个可编程的位定时/计数器,共有种工作方式。

7、设执行指令DIV AB前,(A)=0A5H,(B)=10H,则执行指令后(A)=___ ____,(B)=___ ____。

8、存储器的地址线有14根,数据线有8根,则其最大存储容量为 KB。

9、设执行指令MOV 65H, 90H前,(65H)=28H,(90H)=26H,则执行指令后(65H)= ,(90H)= 。

10、下列程序段的功能是。

PUSH APUSH BPOP APOP B二、单项选择题(本大题共10分,每题1分)1、若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为( )。

(A)500 (B)1000 (C)216-500 (D)216-10002、定时器1工作在计数方式时,其外加的计数脉冲信号应连接到( )引脚。

(A)P3.2 (B)P3.3 (C)P3.4 (D)P3.53、MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应( )。

(A)外部中断0 (B)外部中断1(C)定时器0中断(D)定时器1中断4、下面哪条指令是错误的?()(A)MOVC A, @A+PC (B)MOVX A, @R2(C)MOV 30H, PSW (D)PUSH DPH5、8051单片机中的片内程序存储器空间有多大?()(A)0 KB (B)4 KB (C)8 KB (D)64KB6、在MCS-51中,需要外加电路实现中断撤除的是( )。

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。

答案:int2.2 C语言中,用于输入数据的库函数是______。

答案:scanf2.3 C语言中,用于输出数据的库函数是______。

答案:printf3. 简答题3.1 简述C语言中数组的定义方式。

答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。

例如,定义一个整型数组可以写作:int arrayName[arraySize];。

3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

定义指针的示例:int *ptr; 这里ptr是一个整型指针。

4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。

答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。

c语言编程题考试题库及答案

c语言编程题考试题库及答案

c语言编程题考试题库及答案一、单项选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12LB. 0x12.5C. 0x12.0D. 0x12F答案:A2. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\"答案:C3. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(a, b);答案:A4. C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:B5. 在C语言中,以下哪个选项是正确的指针声明?A. int *p = 0;B. int *p = "Hello";C. int *p = 5;D. int p = 0;答案:A二、填空题1. 在C语言中,表示逻辑“与”操作的运算符是 ________ 。

答案:&&2. C语言中,表示逻辑“或”操作的运算符是 ________ 。

答案:||3. 在C语言中,表示逻辑“非”操作的运算符是 ________ 。

答案:!4. C语言中,表示赋值操作的运算符是 ________ 。

答案:=5. 在C语言中,表示取地址操作的运算符是 ________ 。

答案:&三、程序阅读题阅读以下C语言程序段,并回答问题。

```c#include <stdio.h>int main() {int a = 10, b = 20, c;c = a + b;printf("%d", c);return 0;}```1. 程序的输出结果是什么?答案:302. 如果将`c = a + b;`改为`c = a * b;`,程序的输出结果是什么?答案:200四、编程题1. 编写一个C语言程序,实现两个整数的加法运算,并输出结果。

c语言程序设计考试题及答案文库

c语言程序设计考试题及答案文库

c语言程序设计考试题及答案文库一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 在C语言中,以下哪个不是基本数据类型?A. intB. floatC. stringD. double答案:C3. 下列哪个运算符不能用于整数和浮点数的运算?A. %B. /C. *D. ++答案:D4. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcmp()D. strcat()答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. -=答案:A6. C语言中,以下哪个是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[2][];D. int array[3,2];答案:A7. 在C语言中,以下哪个关键字用于声明函数?A. classB. functionC. structD. void答案:D8. 下列哪个选项是C语言中的控制流语句?A. switchB. caseC. defaultD. all of the above答案:D9. 在C语言中,以下哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. fgets()D. fputs()答案:A10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. %答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

答案:int2. 在C语言中,用于定义一个字符型变量的关键字是________。

答案:char3. C语言中,用于定义一个浮点型变量的关键字是________。

江苏c语言期末考试题及答案

江苏c语言期末考试题及答案

江苏c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的标准输入输出库函数?A. stdlib.hB. stdio.hC. string.hD. math.h答案:B2. C语言中,以下哪个关键字用于定义一个结构体?A. structB. defineC. unionD. enum答案:A3. 在C语言中,哪个运算符用于计算两个数的乘方?A.B. * (乘法)C. / (除法)D. % (取模)答案:A4. 以下哪个选项是C语言中正确的数组声明?A. int array[10];B. int [10] array;C. Both A and BD. None of the above答案:C5. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0) { }D. Both A and C答案:D6. C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:D7. 在C语言中,哪个关键字用于定义一个枚举类型?A. enumB. enum_typeC. enum_varD. enum_val答案:A8. 以下哪个选项是C语言中正确的字符串常量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. Both A and C答案:D9. 在C语言中,以下哪个选项是正确的循环结构?A. forB. whileC. do-whileD. All of the above答案:D10. C语言中,以下哪个选项是正确的指针声明?A. int *pointer;B. pointer int;C. int pointer[];D. Both A and C答案:A二、填空题(每空2分,共20分)1. 在C语言中,一个变量的声明必须在______使用之前。

c语言第二章试题及答案

c语言第二章试题及答案

c语言第二章试题及答案一、选择题1. 在C语言中,以下哪个选项不是合法的变量名?A. _123B. intC. 2nameD. name123答案:C2. C语言中,用于定义整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. ==答案:A4. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. defD. void答案:D5. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[] = "Hello", str2[] = "World";C. char str[] = {"Hello"};D. char str[] = "Hello", "World";答案:A二、填空题1. 在C语言中,使用________关键字可以定义一个指针。

答案:int*2. 如果需要定义一个可以存储10个整数的数组,应该使用________关键字。

答案:int3. 在C语言中,使用________函数可以将字符串从标准输入读取到程序中。

答案:scanf4. 要将一个整数变量的值赋给另一个整数变量,可以使用________运算符。

答案:=5. 在C语言中,使用________函数可以输出字符串到标准输出。

答案:printf三、简答题1. 请简述C语言中数组和指针的区别。

答案:数组是一种数据结构,用于存储相同类型的多个元素,而指针是一种变量,它存储的是另一个变量的内存地址。

数组名可以作为指针使用,但它本身并不是指针。

2. 解释C语言中函数声明和函数定义的区别。

答案:函数声明提供了函数的原型,包括函数名、返回类型和参数类型,但不包含函数体。

常熟理工-C语言26编程题

常熟理工-C语言26编程题

编程题:1、根据矩形面积的计算方法,编写一个输入圆半径r,计算园周长L和圆面积S的程序。

注意判断圆半径r是否大于零。

#include <stdio.h>#define PI 3.1415926int main(){double c, r, area;printf("半径=");scanf("%lf", &r);c = 2 * PI * r;area = PI * r * r;printf("周长=%f,面积=%f\n", c, area);return 0;}2、输入三个整型数据,判断这三个整型数据能否围成三角形,如果能组成三角形,计算并输出它的面积,如果不能围成三角形输出“三条边不能围成三角形”。

#include<math.h>Void main(){Float a,b,c,d,s;s canf(“%f %f %f”,&a,&b,&c);if ((a+b))>c&&(a+b)>b&&(b+c)>a){d=(a+b+c)/2;s=sqrt(d*(d-a)*(d-b)*(d-c));printf(%5.2f %5.2%f 5.2%f The area is %5.2f\n”,a,b,c,s);}else{printf(“The data is wrong\n”)}}3、输入一个百分制成绩,输出对应的等级。

90·100:A,80~89:B,70~79:C,60~69D,不及格为E。

#include<stdio.h>void main(){int score,c;scanf("%d",&score);if(score<0)printf("input data error\n"); else{if(score>100)printf("input data error\n");else{c=score/10;switch(c){case 10:case 9: printf("A\n");break;case 8: printf("B\n");break;case 7: printf("C\n");break;case 6: printf("D\n");break;case 5:case 4:case 3:case 2:case 1:case 0: printf("E\n");break;}}}}4、编程实现 ⎝⎛<--=>+=0100012x x x x x y 。

常熟理工学院 C语言题库(本三)

常熟理工学院 C语言题库(本三)

结构化程序设计语言编写得程序由三种结构组成:顺序结构、分支结构与。

一个完整得C程序可以有多个函数,其中有且只能有一个名为得函数。

数学式所对应得C语言表达式为(m, 1/3、0)。

在调用函数fopen("d:\\b、dat", "r")时,若d盘根目录下不存在文件b、dat,则函数得返回值就是。

执行下面程序段中得语句“k= A*A+1;”后k得值就是。

#defineB 2#define AB+1k =A*A+1;已有定义“float m;double n;int a;longb;char c;”,则表达式m+n*a/m+b/n+c 值得类型为。

C语言有效得预处理命令总就是以开头。

已有定义“inta[10], *p=a+3;”,则数组a 得最后一个元素就是p[]。

已有定义“int n=12; doublea;”,则执行语句“a=n/=5;”后,a得值为。

若要声明一个类型名STR,使得定义语句STR s等价于char*s,则声明语句就是。

程序设计语言得发展经历了几个阶段:机器语言、汇编语言与。

一个C程序总就是从函数开始执行得。

已有定义“doublea=5, b=10;”,则计算ab得库函数调用形式就是。

已有定义“char ch='a';”,则表达式ch=ch-'a'+'A'得值为字符得编码。

表示“x≥y≥z”得C语言表达式就是x>=y 。

C语言有效得预处理命令总就是以开头。

常量'\n'得数据类型就是。

已有定义“int b[10], *p=b,*q;q=&b[5];”,则表达式q-p得值就是。

在文件中,以符号常量EOF作为文本文件(字符流文件)得结束标记,EOF代表得值就是。

若要声明一个类型名STR,使得定义语句STR s等价于char *s,则声明语句就是。

结构化程序设计语言编写得程序由三种结构组成:顺序结构、与循环结构。

常熟理工C语言题库

常熟理工C语言题库

1.以下对于break语句使用的正确描述是()。

A:可以出现在程序中的任何位置B:只能出现在循环或switch结构中C:只能出现在switch结构中 D:只能出现在循环结构中2.以下程序的输出结果为()。

int i;void prt( ){ for(i=5;i<8;i++)printf("%c",'*');printf("\t");}main( ){for(i=5;i<=8;i++) prt( );}A:*** B:*** *** *** *** C:*** *** D:* * *3.已知有声明 char c='1';int x=300;float t=35000;double d=3.1234567e10; ,则以下表达式求值时除( )外其结果都可能是不准确的。

A:x=t/c B:t=d/x C:t=d/le5f D:t=x+c4.在C语言程序中,以下说法正确的是()。

A:函数的定义可以嵌套,但函数的调用不可以嵌套B:函数的定义不可以嵌套,但函数的调用可以嵌套C:函数的定义和函数的调用都不可以嵌套 D:函数的定义和函数的调用都可以嵌套5.若有以下程序段int r=8;printf("%d\n",r>>1);输出结果是()。

A:16 B:8 C:4 D:26.下面四个选项中,均是不合法的用户标识符的选项是()A:A P_0 do B:float la0 _A C:b-a goto int D:_123 temp INT7.以下正确的if语句是()第 1 页/共 2 页A:if(n>0) printf("%f",n)printf("%f",-n);B:if(n>0){ n=n+m;printf("%f",n);}else printf("%f",-n);C:if(n>0){ n=n+m;printf("%f",n);};else printf("%f",-n);D:if(n>0){ n=n+m;printf("%f",n) };else printf("%f",-n);8.若有声明语句"int a=5,b=4,c=3,*p=&a;",则下列()表达式语句是正确的。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

常熟理工学院-C语言-考试样卷

常熟理工学院-C语言-考试样卷

程序设计基础(C语言)考试卷(本科样卷)(理论部分)考试时间120分钟,答案请写在答题卡上一、选择题(每小题2分,共40分)1.以下语句中不包含关键字的是()。

A.x=sqrt(2);B.while(x!=0)x--;C.if(x<0)x=-x;D.return x;2.执行以下程序时,#include<stdio.h>main(){ int a; float b;scanf("%3d%f",&a,&b);printf("%d\t%f",ab);}若要求变量a和b分别从键盘获得输入值45和678.0,则以下四种输入数据中(凵代表”空格”键,↙代表”回车”键),不能达到该要求的输入数据是()。

A.45凵678↙B.45↙678↙C.45,678↙D.045678↙3.已知有声明int x=2:,以下表达式中值不等于8的是()。

A.x+=2,x*2 B.x+=x*=XC.(x+7)/2*((x+1)%2+1) D.x*7.2/x+14.已知有声明”int a=3, b=4, c;”,则执行语句”c=1/2*(a+b);”后,c 的值是()。

A.0 B.3 C.3.5 D.45.已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字母的编码。

若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是()。

A.c=tolower(c) B.c=c+32C.c=c-’A’+’a’D.c= (c +’A’)%26-’a’6.已有声明”char *s1="China", s2[10], *s3="Nanjing"; *s4;”,以下字符串赋值语句在执行时可能出现错误的是()。

A.strcpy(s3, s1); B.strcpy(s4, s1);C.strcpy(s2, s1); D.strcpy(s2, s3);7.执行以下程序后的结果是()。

C语言题库(带详解答案)

C语言题库(带详解答案)

一单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。

A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。

A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

常熟理工学院C语言题库最新版

常熟理工学院C语言题库最新版

表达式sizeof("key")的值是【】。

④③②①①1 ②2 ③3 ④4下面选项中,不能用作用户标识符的是【】。

①&a ②_00 ③FOR ④print已知有声明“int x=3, y=4, z;”,则执行语句“z=1/2*(x+y);”后,z的值是【】。

①0 ②3③3.5 ④4下列运算符中,优先级最低的是【】。

①* ②!=③+ ④=一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>0,下面选项中正确的表达式是【】。

①a!=0, b*b-4*a*c>0 ②a!=0||b*b-4*a*c>0③a&&b*b-4*a*c>0 ④!a&&b*b-4*a*c>0下面选项中,可以作为用户标识符的是【】。

①6_6 ②void③unsigned ④_0_已有定义“int n; float a, b;”,则执行语句“b=n=a=3.89;”后,b的值为【】。

①3 ②3.0③3.89 ④4.0下列运算符中,优先级最低的是【】。

①* ②!=③+ ④=表达式!(x>0&&y>0) 等价于【】。

①!(x>0)||!(y>0) ②!x>0||!y>0③!x>0&&!y>0 ④!(x>0)&&!(y>0)下面定义符号常量p为3.14中正确的是【】。

①#define p 3.14; ②#define p(3.14)③#define p=3.14 ④#define p 3.14在下面各组标识符中,均可以用作变量名的一组是【】。

①a02, Int ②table_1, a*.0③0_a, W13 ④for, point已知有声明“int x=3, y=4, z;”,则执行语句“z=1/3*(x+y);”后,z的值是【】。

常熟理工学院C语言控制器编程实验指导书答案

常熟理工学院C语言控制器编程实验指导书答案

实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++6.0调试环境。

2. 掌握C程序的编辑、调试及运行。

二、实验内容项目1. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){printf(“Good morning!\n”);printf(“Hello,world!\n”);return 0;}运行结果(注意,按照屏幕输出格式写):项目2. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int main(){int a , b , sum; /*定义变量*/a=23; b=56; /*为变量赋值*/sum=a+b; /*计算两个变量的和*/printf(“sum is %d\n”,sum); /*输出计算结果*/return 0;}运行结果:项目3. 调试并运行下面程序,并写出运行结果:#include <stdio.h>int max(int,int);int main(){int a , b , c; /*定义变量*/a=23; b=56; /*为变量赋值*/c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/return 0;}int max(int x,int y){ /*定义max函数,函数值为整型*/int z; /*定义变量*/if(x>y) z=x;else z=y;return(z); /*将z的值返回*/}运行结果:三、提高部分1.试想,如果求3个数中的最大者,则程序该如何编写。

程序代码#include<stdio.h>int max(int a,int b)//求两个数之间最大的数{if(a<b)return b;elsereturn a;}int main(){int a,b,c,p;printf("输入a,b,c :\n");scanf("%d%d%d",&a,&b,&c);//输入三个数p=max(a,max(b,c));//调用两次比较函数来获得最大值printf("最大值为:");printf("%d",p);}运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法。

C语言考试题库及答案

C语言考试题库及答案

C语言考试题库及答案一、选择题1. C语言中,以下哪个选项是合法的数据类型?A. intB. floatC. charD. All of the above答案:D2. 在C语言中,哪个关键字用于定义整型变量?A. floatB. doubleC. intD. char答案:C3. 下面哪个选项不是C语言的逻辑运算符?A. &&B. ||C. !D. ++答案:D4. 在C语言中,哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个关键字用于定义结构体?A. structB. unionC. enumD. class答案:A二、填空题6. 在C语言中,用于声明函数原型的是______。

答案:函数原型7. 在C语言中,用于输入输出函数的是______。

答案:stdio.h8. 在C语言中,用于定义常量的是______。

答案:#define 或 const9. 在C语言中,用于定义指针的是______。

答案:(星号)10. 在C语言中,用于终止当前循环的是______。

答案:break三、判断题11. C语言中的数组下标是从1开始的。

()答案:错误12. 在C语言中,switch语句可以替代if-else语句。

()答案:正确13. 在C语言中,所有的变量在使用前必须声明。

()答案:正确14. C语言中的结构体是一种用户自定义的数据类型。

()答案:正确15. 在C语言中,函数的返回值类型不能是数组。

()答案:正确四、编程题16. 编写一个C程序,输出1到100之间所有的偶数。

```c#include <stdio.h>int main() {int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {printf("%d\n", i);}}return 0;}```17. 编写一个C程序,计算并输出斐波那契数列的前10项。

常熟理工学院 c语言题库 (本二)

常熟理工学院 c语言题库 (本二)

下面选项中,不能用作C语言标识符的是(C )。

A._00 B.print C.&b D.FOR下面合法的标识符是(A )。

A.IF B.-321 C.c f D.int可以将高级语言编写的源程序转换为目标程序的软件是(D )。

A.汇编程序B.解释程序C.编辑程序D.编译程序C 语言程序中可以对程序进行注释,注释部分必须用符号(C )括起来。

A.“{”和“}”B.“[”和“]”C.“/*”和“*/”D.“*/”和“/*”已有预处理命令“#include <math.h>”和声明“int x=4, y;”,下面语句中语法正确的是(C )。

A.if(x%2=1)y=x; B.if(sqrt(x)%2)y=x;C.if(x==1)y=x; D.if(x==1)y=&x;下列运算符中,优先级最低的是(D )。

A.* B.!= C.+ D.=逻辑“异或”运算可描述为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。

下面能够正确表示逻辑“异或”运算的表达式是(D ))。

A.a || b B.a && bC.(a&&b)&&!(a || b) D.(a || b)&&!(a&&b)下面关于continue和break语句的叙述中正确的是(B )。

A.continue和break语句都可以出现在switch语句中B.continue和break语句都可以出现在循环语句的循环体中C.在switch语句允许出现continue和break语句D.执行循环语句中的continue和break语句都将立即终止循环在while(e)语句中的e与下面条件表达式等价的是(D )。

A.e==0 B.e==1 C.e!=1 D.e!=0已有函数fun的定义“void fun(void) {printf("That's great! ");}”,则调用fun函数的正确形式是(B )。

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

1.以下对于break语句使用的正确描述是()。

A:可以出现在程序中的任何位置B:只能出现在循环或switch结构中C:只能出现在switch结构中 D:只能出现在循环结构中2.以下程序的输出结果为()。

int i;void prt( ){ for(i=5;i<8;i++)printf("%c",'*');printf("\t");}main( ){for(i=5;i<=8;i++) prt( );}A:*** B:*** *** *** *** C:*** *** D:* * *3.已知有声明 char c='1';int x=300;float t=35000;double d=3.1234567e10; ,则以下表达式求值时除( )外其结果都可能是不准确的。

A:x=t/c B:t=d/x C:t=d/le5f D:t=x+c4.在C语言程序中,以下说法正确的是()。

A:函数的定义可以嵌套,但函数的调用不可以嵌套B:函数的定义不可以嵌套,但函数的调用可以嵌套C:函数的定义和函数的调用都不可以嵌套 D:函数的定义和函数的调用都可以嵌套5.若有以下程序段int r=8;printf("%d\n",r>>1);输出结果是()。

A:16 B:8 C:4 D:26.下面四个选项中,均是不合法的用户标识符的选项是()A:A P_0 do B:float la0 _A C:b-a goto int D:_123 temp INT7.以下正确的if语句是()第 1 页/共 2 页A:if(n>0) printf("%f",n)printf("%f",-n);B:if(n>0){ n=n+m;printf("%f",n);}else printf("%f",-n);C:if(n>0){ n=n+m;printf("%f",n);};else printf("%f",-n);D:if(n>0){ n=n+m;printf("%f",n) };else printf("%f",-n);8.若有声明语句"int a=5,b=4,c=3,*p=&a;",则下列()表达式语句是正确的。

A:(*p)++=c; B:printf(a%4==0?"%3d\n":"%3d",*p);C:*(*p)++; D:a>20?return *p-20:return *p-1;9.以下声明中正确的是()。

A:int a[2][2]={10},(*p)[2]=a+1;B:int n=10,*p[2]=&n; C:int n=10,a[2]={n}; D:int n=2,a[n]={10};10.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c 的值分别为( )。

A:3,1 B:15,12 C:15,1 D:3,1211.以下函数调用语句中含有()个实参。

func((e1,e2),(e3,e4,e5));A:2 B:3 C:5 D:语法错误12.以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

#define MIN -2147483647int findmax (int x[],int n){int i,max;for(i=0;i<n;i++){max=MIN;if(max<x[i])max=x[i];}return max;}造成错误的原因是()。

A:定义语句 int i,max;中 max 未赋初值 B:赋值语句 max=MIN;中,不应给 max 赋 MIN 值C:语句 if(max<X[i])max=X[i];中判断条件设置错误D:赋值语句 max=MIN;放错了位置13.有以下程序#include <stdio.h>main(){int a=1, b=0;printf ("%d,", b=a+b);printf ("%d\n", a=2*b);}程序运行后的输出结果是()。

A:0,0 B:1,0 C:3,2 D:1,214.已有声明"int s[2][3]",以下选项中()正确地引用了数组s中的基本元素。

A:s[1>2][!1] B:s[2][0] C:s[1] D:s15.设有以下程序段,则值为6的表达式是()。

struct st { int n; struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p;p=&a[0];A:p++->n B:p->n++ C:++p->n D:(*p).n++BADBC CBBAC ADDAC,二、判断题(每题2分,对的打√错的打×,共20分)1.用fopen("file","r+");打开的文件"file"可以进行修改。

(y)2.若有定义:char *p(char a[10]);则p是函数名。

()3.用fopen("file","r+");打开的文件"file"可以进行修改。

()4.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。

()5.Break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。

()6.函数strlen("ASDFG\n")的值是7。

()7.结构体类型只有一种。

()8.C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .BAK 的文件。

( )9.构成数组的各个元素可以有不同的数据类型。

( )10.在 C 程序中, APH 和 aph 代表不同的变量。

( )11.用fopen("file","r+");打开的文件"file"可以进行修改。

()12.若有定义:char *p(char a[10]);则p是函数名。

()13.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。

()14.Break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。

()15.函数strlen("ASDFG\n")的值是7。

()16.结构体类型只有一种。

()17. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .BAK 的文件。

()18.在 C 程序中, APH 和 aph 代表不同的变量。

( )√√√×√××××√,,,√√×√×××√三、填空题(每题2分,共20分)1.若有语句 double x=17; int y;,当执行 y=(int)(x/5)%2;之后 y 的值为_______ 。

2.设有定义:struct person{int ID; char name[12];}p;请将 scanf("%d",______________); 语句补充完整,使其能够为结构体变量 p 的成员 ID 正确读入数据。

3.有以下程序#include <stdio.h>main(){int f,f1,f2,i;f1=0; f2=1;printf("%d,%d", f1,f2);for(i=3;i<=5;i++){f= f1+f2; printf("%d",f);f1=f2; f2=f;}}程序运行后的输出结果是___________。

4.设x、y、z均为int类型变量,请用C语言的表达式描述以下命题。

x或y中有一个小于z _________5.设x、y、z均为int型变量,且x=3, y=-4, z=5,请写出下面每个表达式对应的结果。

(x&&y)==(x||z) _______6.有int a=3,b=4,c=5;则以下表达式!(a+b)+c-1&&b+c/2的值是___________7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为_____,n的值为_____8.当a=1, b=3, c=5, d=4 时,执行完下面一段程序后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;9.有以下程序#include <stdio.h>main(){char a[20]="How are you?",b[20];scanf("%s",b); printf("%s %s",a,b);}程序运行时从键盘输入:How are you?<回车>则输出结果为________________。

10.有以下程序:#include <stdio.h>fun(int x){if(x/2>0) fun(x/2);printf("%d", x);}main(){fun(6);}程序运行后的输出结果是___________________ 。

1、 12、 p.ID3、0,11234、x<z||y<z5、 16、17、10 68、29、How are you? How 10、136四、完成程序题(按照程序段的功能填写横线上的表达式,第1小题2分,其它题3分,共20分)1、下面程序段是判断m是否为素数,请填空。

相关文档
最新文档