常熟理工学院 C语言题库(本三)
江苏专转本c语言考试题及答案
江苏专转本c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言可以直接在计算机上运行C. C语言具有结构化的特点D. C语言具有丰富的数据类型答案:B2. C语言中,用于定义一个整型数组的关键字是()。
A. intB. floatC. charD. double答案:A3. 在C语言中,下列哪个运算符用于比较两个值是否相等?()A. ==B. !=C. <=D. >=答案:A4. 下列关于C语言函数的描述中,正确的是()。
A. 函数可以没有返回值B. 函数必须有返回值C. 函数可以有多个返回值D. 函数不能有参数答案:A5. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A6. C语言中,用于定义一个枚举类型的关键字是()。
A. structB. unionC. enumD. typedef答案:C7. 下列关于C语言指针的描述中,错误的是()。
A. 指针可以存储地址B. 指针可以存储数据C. 指针可以作为函数参数D. 指针可以作为函数返回值答案:B8. 在C语言中,用于实现循环结构的关键字是()。
A. forB. ifC. switchD. case答案:A9. 下列关于C语言预处理指令的描述中,正确的是()。
A. #include用于包含头文件B. #define用于定义宏C. #define可以定义函数D. #include可以包含用户自定义的文件答案:A10. C语言中,用于定义一个联合体的关键字是()。
A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个变量。
答案:int2. C语言中,使用____运算符可以实现逻辑与操作。
最新常熟理工学院-C语言-考试样卷
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语言程序设计考试题及答案2019
c语言程序设计考试题及答案2019一、单项选择题(每题2分,共20分)1. C语言中,以下哪个是合法的字符常量?A. 'a'B. "a"C. 3D. 0x52答案:A2. 在C语言中,以下哪个是整型变量的正确声明?A. int a, b, c;B. int a; b; c;C. int a, b; int c;D. int a, b, c;答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C4. C语言中,以下哪个是正确的二维数组声明?A. int array[3][4];B. int array[][];C. int array[3](4);D. int array[3,4];答案:A5. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. &D. |答案:A6. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. C语言中,以下哪个是正确的函数原型声明?A. int func(int a, int b);B. int func();C. int func(int, int);D. int func a, b;答案:A8. 在C语言中,以下哪个是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include<stdio.h> D. #include "stdio.h"答案:A9. C语言中,以下哪个是正确的循环结构?A. for(;;)B. while()C. do-whileD. for()答案:A10. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A二、填空题(每题2分,共20分)1. C语言中,用于输出的函数是________。
2022年常熟理工学院公共课《C语言》科目期末试卷A(有答案)
2022年常熟理工学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x的二进制数是11001101,若想通过x&y运算使x中的低4位不变,高4位清零,则y的二进制数是_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。
5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
6、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是_______。
for(k=0;k<3;k++)q[k]=8.a[k*4];printf("%d\n",q[2][3]);7、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;9、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
10、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);二、选择题11、若有代数式|x3+log10x|,则正确的C语言表达式是()A.fabs(x*3+log(x))B.abs(pow(x,3)+log(x))C.abs(pow(x,3.0)+log(x))D.yfabs(pow(x,3.0)+log(x))12、以下表达式值为3的是( )A.16-13%10B.2+3/2C.14/3-2D.(2+6)/(12-9)13、有定义语句int a,b;,若要通过语句scanf("%d,%d”,&a,&B.;使变量a得到数值6,变量b得到数值5,下面输入形式中错误的是()。
本科c语言程序设计考试试题及答案
本科c语言程序设计考试试题及答案**本科C语言程序设计考试试题及答案**一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. returnC. voidD. function答案:C2. 在C语言中,以下哪个是正确的字符串声明?A. char str[10] = "Hello";B. char str = "Hello";C. char str[] = "Hello";D. char str[10] = 'Hello';答案:C3. 下列哪个选项是C语言中的合法整型常量?A. 012B. 0x1AC. 0b1010D. 0.1答案:B4. C语言中,以下哪个运算符用于逻辑与?A. &&B. ||C. !D. |答案:A5. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. C语言中,以下哪个是正确的数组声明?A. int array[];B. int array[10] = {0};C. int array = 10;D. int array = {0};答案:B8. C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = 10;D. int ptr = 10;答案:A9. C语言中,以下哪个函数用于动态分配内存?A. malloc()B. calloc()C. realloc()D. free()答案:A10. C语言中,以下哪个是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D二、填空题(每题3分,共15分)1. 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语言期末考试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:D2. 下列哪个选项是C语言中的合法整型常量?A. 0x1AB. 0X1AC. 0x1aD. 0X1a答案:A3. 以下哪个选项是C语言中的合法浮点数?A. 3.14B. 3.14eC. 3.14e2D. 3.14e2.5答案:C4. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!'"D. 'Hello, World!'答案:A5. 下列哪个选项是C语言中的合法数组声明?A. int array[10];B. int array[];C. int array[10][];D. int array[10][10];答案:A6. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add();C. int add(int, int);D. int add(int x, int y) {}答案:A7. 下列哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr[];C. int (*ptr)[];D. int *ptr[10];答案:A8. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int id; char name[50]; };B. struct { int id; char name[50]; };C. struct Student { int id; struct Student next; };D. struct { int id; char name[50]; } student;答案:A9. 下列哪个选项是C语言中的合法枚举声明?A. enum Color { Red, Green, Blue };B. enum { Red, Green, Blue };C. enum Color { Red = 1, Green = 2, Blue = 3 };D. enum { Red = 1, Green = 2, Blue = 3 };答案:A10. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI 3.14159C. #define PI 3.14159D. #define PI 3.14159答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对字符串进行连接。
c语言试卷集(10套)-试题及答案
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
c本科三试题及答案
c本科三试题及答案一、单项选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str = "Hello";答案:A4. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. !D. =答案:A5. 以下哪个选项是C语言中合法的数组声明?A. int array[] = {1, 2, 3};B. int array[] = (1, 2, 3);C. int array[] = {1; 2; 3};D. int array[] = 1, 2, 3;答案:A6. C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:A8. C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A9. 在C语言中,以下哪个选项表示无限循环?A. while(1)B. for(;;)C. do{}while(1)D. A和B答案:D10. C语言中,以下哪个选项用于定义一个结构体?A. structB. struct{}C. struct nameD. struct{}答案:A二、填空题(每题2分,共20分)1. C语言中,______关键字用于定义一个宏。
三级c语言机试题及答案
三级c语言机试题及答案三级C语言机试题及答案1. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:A2. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[] = "Hello World";B. char str[] = 'Hello World';C. char str[] = {"Hello World"};D. char str[] = "Hello World";答案:A4. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B5. 以下哪个选项是C语言中正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[5] = {0};C. int arr[5] = {0, 1, 2};D. int arr[5] = {0, 1, 2, 3};答案:A6. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. funcD. int答案:D7. 以下哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. include "stdio.h"C. #import "stdio.h"D. #include <stdio.h>答案:D8. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C9. 以下哪个选项是C语言中正确的单行if语句?A. if (x > y) x = y;B. if (x > y) { x = y; }C. if (x > y) x = y; else y = x;D. if (x > y) { x = y; } else { y = x; }答案:A10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C。
常熟理工学院 C语言题库(本三)
结构化程序设计语言编写的程序由三种结构组成:顺序结构、分支结构和。
一个完整的C程序可以有多个函数,其中有且只能有一个名为的函数。
数学式3m所对应的C语言表达式为(m, 1/3.0)。
在调用函数fopen("d:\\b.dat", "r")时,若d盘根目录下不存在文件b.dat,则函数的返回值是。
执行下面程序段中的语句“k = A*A+1;”后k的值是。
#define B 2#define A B+1k = A*A+1;已有定义“float m;double n;int a;long b;char c;”,则表达式m+n*a/m+b/n+c值的类型为。
C语言有效的预处理命令总是以开头。
已有定义“int a[10], *p=a+3;”,则数组a 的最后一个元素是p[ ]。
已有定义“int n=12; double a;”,则执行语句“a=n/=5;”后,a的值为。
若要声明一个类型名STR,使得定义语句STR s等价于char *s,则声明语句是。
程序设计语言的发展经历了几个阶段:机器语言、汇编语言和。
一个C程序总是从函数开始执行的。
已有定义“double a=5, b=10;”,则计算a b的库函数调用形式是。
已有定义“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语言题库及答案详解C语言题库及答案详解C语言,作为一种广泛使用的编程语言,以其高效、灵活和跨平台的特性,在软件开发、系统编程等领域占据着重要地位。
为了帮助学习者更好地掌握C语言,本文将提供一些常见的C语言题目及其详细解答。
1. 基础语法题- 题目:请编写一个C程序,输出"Hello, World!"。
- 答案:以下是一个简单的C程序示例,用于输出"Hello,World!"。
```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 变量与数据类型题- 题目:声明一个整型变量`a`,初始化为10,并打印其值。
- 答案:在C语言中,可以使用`int`关键字来声明整型变量。
以下是实现题目要求的代码。
```c#include <stdio.h>int main() {int a = 10;printf("The value of a is: %d\n", a);return 0;}```3. 控制结构题- 题目:编写一个程序,判断输入的年份是否为闰年。
- 答案:闰年的判断规则是:如果年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。
```c#include <stdio.h>int main() {int year;printf("Enter a year: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {printf("%d is a leap year.\n", year);} else {printf("%d is not a leap year.\n", year);}return 0;}```4. 数组与循环题- 题目:编写一个程序,求一个整数数组中所有元素的和。
常熟理工学院 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. 在C语言中,以下哪个数据类型用于存储字符?A. intB. charC. floatD. double答案:B2. 一个int类型的变量通常占用多少字节的内存空间?A. 1B. 2C. 4D. 8答案:C3. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. structD. void答案:D4. 一个float类型的变量占用的字节数是多少?A. 2B. 4C. 8D. 16答案:B5. 以下哪个关键字用于定义指针类型?A. intB. charC. floatD. *答案:D二、填空题1. 在C语言中,________关键字用于声明一个整型变量。
答案:int2. 一个________类型的变量可以存储一个布尔值。
答案:_Bool3. C语言中,________关键字用于声明一个双精度浮点数。
答案:double4. 一个指针变量可以存储一个________值。
答案:地址5. C语言中,________关键字用于声明一个无符号整型变量。
答案:unsigned int三、简答题1. 请解释C语言中的静态数据类型和动态数据类型的区别。
答案:静态数据类型是指在编译时就确定大小的数据类型,如int、float等。
动态数据类型是指在运行时确定大小的数据类型,如指针和动态分配的数组。
2. 描述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被看作指向数组首元素的指针。
通过指针运算,可以访问数组中的元素。
四、编程题1. 编写一个C程序,计算并输出以下表达式的值:(5 + 3.14) / 2。
答案:```c#include <stdio.h>int main() {double result = (5 + 3.14) / 2;printf("The result is: %f\n", result);return 0;}```2. 请编写一个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语言考试题库及答案一、选择题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语言)考试卷(本科样卷)(理论部分)考试时间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. 变量声明- 题目:在C语言中,以下哪个选项是正确的变量声明方式?A. int a = 0;B. int a = 0.0;C. int a = "hello";D. int a = 0, b = 0;- 答案:A和D。
2. 数据类型- 题目:以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string- 答案:D。
3. 运算符优先级- 题目:在C语言中,以下哪个运算符的优先级最高?A. 乘法B. 加法C. 赋值D. 条件运算符- 答案:A。
4. 函数定义- 题目:以下哪个是正确的C语言函数定义?A. int myFunction(int a, int b) { return a + b; }B. int myFunction(int a, int b) { return a - b; }C. int myFunction(int a, int b) { return a * b; }D. All of the above- 答案:D。
5. 数组初始化- 题目:以下哪个是正确的C语言数组初始化方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = {1, 2, 3};C. int arr[5] = {1, 2, 3, 4};D. int arr[5] = {1, 2, 3, 4, 5, 6};- 答案:A。
6. 指针- 题目:以下哪个选项正确地声明了一个指向整数的指针?A. int *ptr;B. int ptr[];C. int *ptr = 0;D. int ptr = 0;- 答案:A和C。
7. 字符串操作- 题目:以下哪个函数用于比较两个字符串是否相等?A. strcat()B. strcmp()C. strcpy()D. strlen()- 答案:B。
8. 条件语句- 题目:以下哪个是C语言中正确的if语句?A. if (x > 10)x = 20;B. if (x > 10)x = 20C. if (x > 10)x = 20;else x = 10;D. All of the above- 答案:A。
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项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构化程序设计语言编写的程序由三种结构组成:顺序结构、分支结构和。
一个完整的C程序可以有多个函数,其中有且只能有一个名为的函数。
数学式3m所对应的C语言表达式为(m, 1/3.0)。
在调用函数fopen("d:\\b.dat", "r")时,若d盘根目录下不存在文件b.dat,则函数的返回值是。
执行下面程序段中的语句“k = A*A+1;”后k的值是。
#define B 2#define A B+1k = A*A+1;已有定义“float m;double n;int a;long b;char c;”,则表达式m+n*a/m+b/n+c值的类型为。
C语言有效的预处理命令总是以开头。
已有定义“int a[10], *p=a+3;”,则数组a 的最后一个元素是p[ ]。
已有定义“int n=12; double a;”,则执行语句“a=n/=5;”后,a的值为。
若要声明一个类型名STR,使得定义语句STR s等价于char *s,则声明语句是。
程序设计语言的发展经历了几个阶段:机器语言、汇编语言和。
一个C程序总是从函数开始执行的。
已有定义“double a=5, b=10;”,则计算a b的库函数调用形式是。
已有定义“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语言中除复合语句外的其它所有语句都以结束。
已有定义“double a=10, b=5;”,则计算a b的库函数调用形式是。
C语言有效的预处理命令总是以开头。
已有定义“char a=1; int b=2; float c=3; double d=4;”,则表达式“c=a+b+c+d”值的类型为。
用typedef定义一个长度为10的整型数组NUM的语句是。
执行下面程序段中的语句“k = A*A+1;”后k的值是。
#define B 2#define A B+1k = A*A+2;已有定义“int a[][4]={1, 2, 3, 4, 5, 6, 7, 8, 9};”,则数组a第一维的大小是。
程序中已使用预处理命令“#include<stdio.h>”,为使语句“fp=fopen("asc.txt","r");”能正常执行,在该语句之前必须有定义FILE ;。
执行“printf("%d,%d", a, b, c, d); ”后在屏幕上将输出个整数。
以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned阅读以下程序#includemain(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值表达式:(int)((double)9/2)-(9)%2的值是A)0B)3C)4D)5若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20B)-10C)0D)10有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,2设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c;B)if(a>b) {c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c;D)if(a>b) {c=a;a=b;b=c;}有以下程序#includemain(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是A)3B)5C)7D)9以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c)) k=1;else k=0;B)if((a>b)||(b>c) k=1;else k=0;C)if(a<=b) k=0;else if(b<=c) k=1;D)if(a>b) k=1;else if(b>c) k=1;else k=0;20)有以下程序#includemain(){ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’) n++;printf(“%d\n”,n);}程序运行后的输出结果是A)0B)2C)3D)5有以下程序#includemain(){ int n=2,k=0;while(k++&&n++>2);printf(“%d %d\n”,k,n);}程序运行后的输出结果是A)0 2B)1 3C)5 7D)1 2有以下定义语句,编译时会出现编译错误的是A)char a=’a’;B)char a=’\n’;C)char a=’aa’;D)char a=’\x2d’;有以下程序#includemain(){ char c1,c2;c1=’A’+’8’-‘4’;c2=’A’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母A的ASCII码为65,程序运行后的输出结果是A)E,68B)D,69C)E,DD)输出无定值有以下程序#includevoid fun(int p){ int d=2;p=d++; printf(“%d”,p);}main(){ int a=1;fun(a); printf(“%d\n”,a);}程序运行后的输出结果是A)32B)12C)21D)22以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x[],int n){ int i,max;for(i=0;i<N;I++)< p="" />{ max=MIN;if(maxreturn max;}造成错误的原因是A)定义语句int i,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值C)语句if(maxD)赋值语句max=MIN;放错了位置有以下程序#includemain(){ int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d,%d\n”,m,n,*p,*q);}程序运行后的输出结果是A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是A)p=aB)q[i]=a[i]C)p=a[i]D)p=&a[2][1]有以下程序#include#includemain(){ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序运行后的输出结果是A)9,One*WorldB)9,One*DreamC)10,One*DreamD)10,One*World有以下程序#includemain(){ int a[ ]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){ case 0:switch(a[i]%2){case 0:a[i]++;break;case 1:a[i]--;}break;case 1:a[i[=0;}for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“\n”);}A)3 3 4 4B)2 0 5 0C)3 0 4 0D)0 3 0 4有以下程序#include#includemain(){ char a[10]=”abcd”;pri ntf(“%d,%d\n”,strlen(a),sizeof(a));}程序运行后的输出结果是A)7,4B)4,10C)8,8D)10,10下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串下列函数的功能是fun(char * a,char * b){ while((*b=*a)!=’\0’) {a++,b++;} }A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有’\0’设有以下函数void fun(int n,char * s) {……}则下面对函数指针的定义和赋值均是正确的是A)void (*pf)(); pf=fun;B)viod *pf(); pf=fun;C)void *pf(); *pf=fun;D)void (*pf)(int,char);pf=&fun;有以下程序#includeint f(int n);main(){ int a=3,s;s=f(a);s=s+f(a);printf(“%d\n”,s);}int f(int n){ static int a=1;n+=a++;return n;}程序运行以后的输出结果是A)7B)8C)9D)10有以下程序#include#define f(x) x*x*xmain(){ int a=3,s,t;s=f(a+1);t=f((a+1));printf(“%d,%d\n’,s,t);}程序运行后的输出结果是A)10,64B)10,10C)64,10D)64,64下面结构体的定义语句中,错误的是A)struct ord {int x;int y;int z;}; struct ord a;B)struct ord {int x;int y;int z;} struct ord a;C)struct ord {int x;int y;int z;} a;D)struct {int x;int y;int z;} a;设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)char str[ ]=”string”;c=str;B)scanf(“%s”,c);C)c=getchar();D)*c=”string”;有以下程序#include#includestruct A{ int a; char b[10]; double c;};struct A f(struct A t);main(){ struct A a={1001,”ZhangDa”,1098.0};a=f(a);jprintf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}struct A f(struct A t)( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )程序运行后的输出结果是A)1001,ZhangDa,1098.0B)1001,ZhangDa,1202.0C)1001,ChangRong,1098.0D)1001,ChangRong,1202.0若有以下程序段int r=8;printf(“%d\n”,r>>1);输出结果是A)16B)8C)4D)2下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件下面表示中,不能用作C语言常量的是。