C语言试题库[完整版]
C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设 i 是int 型变量,f 是float 型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100 和分别赋给i 和f,则正确的输入为()。
A. 100B.i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);} 上面的C 程序的输出结果是()。
A. 20B.1C.0D.-14、C 语言中,while 和do …while循环的主要区别是()。
A. do …while的循环体至少无条件执行一次B. while 的循环控制条件比 do …while的循环控制条件严格C. do …while允许从外部转到循环体内D. do …while的循环体不能是复合语句5、执行下面的 C 程序段后,输出结果是()。
inta=5;while(a--);printf("%d",a);A. 54321B. 4321C.0D.-16、在 C 语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C.形参D.实参7、分析下面的 C 程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C.23D.128、下面的 C 语言代码段的输出结果是()。
(完整word)C语言考试试题.

24.C语言中要求对变量作强制定义的主要理由是(B)
A.便于编辑预处理程序的处理B。便于确定类型和分配空间
C.便于移植D.便于写文件
25。以下数据中,不正确的数值或字符常量是(A)
25.若有定义:char s[]= ”turboC ";则Turbo C系统为数组s开辟【7】个字节的内存单元
二、判断共10题(共计20分)
1.inti,*p=&i;是正确的C说明(√)
2。若有说明intc;则while(c=getchar());是正确的C语句(√)
3。共同体变量所占的内存长度等于最长的成员长度(√)
23.当a=5,b=7,c=8时,执行以下程序段后c=【5】
if(a〈c) b=a;
a=c;
c=b;
24.已知a=5,写出表达式(0<a)‖(a〈2)的值是【1】
25。在TC2。0中,有以下结构类型说明和变量定义,则变量a在内存所占字节数是【22】
Strut stud
{char num[6];
int s [4];
4.charc[]=”Very Good”;是一个合法的为字符串数组赋值的语句(√)
5.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量(√)
6。整数—32100可以赋值给int型和longint型变量(√)
7.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准(√)
for(i=0;i〈=2;i++)printf(“YES");printf(“\n”);
(完整word版)大学C语言考试题库(答案)

单项选择==================================================题号:1482执行以下程序段后,输出结果和a的值是()。
int a=10;printf(”%d”,a++);A、11 和10B、11 和11C、10 和11D、10 和10答案:C题号:2100已知字符’A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是’D'。
执行语句printf (”%d,%d”,c1,c2-2);后,输出结果是A、65,66B、A,BC、65,68D、A,68答案:A题号:5055相同结构体类型的变量之间,可以().A、比较大小B、地址相同C、赋值D、相加答案:C题号:3217int a[10];合法的数组元素的最小下标值为()。
A、1B、0C、10D、9答案:B题号:45能正确表示逻辑关系:" a≥10或a≤0 ”的C语言表达式是A、a〉=0 | a〈=10B、a>=10 or a<=0C、a〉=10 && a〈=0D、a>=10 ||a<=0答案:D题号:157main(){int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(”a=%d,b=%d",a,b);}该程序的输出结果是( )A、2,2B、2,1C、1,1D、1,0答案:B题号:4784设变量a是整型,f是实型,i是双精度型,则表达式10+’a'+i*f值的数据类型为()。
A、不确定B、doubleC、intD、float答案:B题号:1647以下程序中,while循环的循环次数是______ main(){int i=0;while(i<10){if(i〈1)continue;if(i==5)break;i++;}}A、死循环,不能确定次数B、6C、4D、1答案:A题号:191若有说明语句:char c='\72’;则变量c().A、说明不合法,c的值不确定B、包含3个字符C、包含1个字符D、包含2个字符答案:C题号:1300下列程序运行结果为:#define P 3#define S(a)P*a*amain(){int ar;ar=S(3+5);printf("\n%d”,ar);}A、192B、25C、29D、27答案:C判断==================================================题号:6755若i =3,则printf("%d",-i++);输出的值为-4。
(完整版)C语言程序设计题库及答案,推荐文档

A.552 B.264 C.144 D.-264 30 . int a=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A )。
A.2,2 B.2,3 C.3,2 D.3,3
判断题(共 5 题,每题 2 分) 1 . 只能在循环体内和 switch 语句体内使用 break 语句。(对) 2 . 一个算法应该具备有穷性、确定性、输入、输出和有效性。(对) 3 . C 语言中,每个程序都必须要有一个且只有一个 main 函数。(对) 4 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。(对)
5 . 表达式 16/8*sqrt(4.0)/2 值的数据类型为 double 双精度实型。(对)
第二套试题
单选题(共 20 题,每题 4 分) 1 . 若有输入语句 scanf( %d%d%d,&x,&y,&z);则不能使 x 值为 5,y 值为 6,z 值为 7 的输入是___A___。
A.5,6 ,7
A.5,6 ,7
B.5 回车换行 6 7 C.5 6 7
D.5,6,7
12 . 若 i,j 已定义为 int 类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...}
A.12
B.15
C.16
13 . 下列选项中,合法的 C 语言关键字是_D___。
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。
完整word版,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(){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、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
c语言试题库及答案

c语言试题库及答案# C语言试题库及答案## 一、选择题1. 在C语言中,以下哪个不是合法的标识符?- A. 2variable- B. variable- C. Variable- D. variable2答案:A2. 下列哪个语句是正确的C语言语句?- A. `int a = 100;`- B. `int a = 100.0;`- C. `int a = 0x10;`- D. 所有选项都是正确的答案:D3. 在C语言中,以下哪个是正确的数组声明?- A. `int arr[] = {1, 2, 3};`- B. `int arr[3] = {1, 2};`- C. `int arr[3] = {1, 2, 3, 4};`- D. `int arr = {1, 2, 3};`答案:A## 二、填空题1. 在C语言中,`printf`函数用于______。
答案:输出信息到标准输出设备2. C语言的`switch`语句中,`case`后面跟的值必须是______。
答案:整型常量或枚举常量3. 在C语言中,定义一个结构体类型的变量,需要使用关键字______。
答案:struct## 三、简答题1. 简述C语言中指针的概念及其用途。
答案:指针是一种变量,它存储了另一个变量的内存地址。
指针的主要目的是直接访问内存地址中的数据,从而提高程序的效率。
指针在C语言中用途广泛,包括动态内存分配、数组操作、函数参数传递等。
2. 解释C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组首元素的指针使用。
数组的索引操作可以通过指针的算术运算来实现。
例如,`arr[i]`可以等价于`*(arr + i)`。
数组的指针操作允许程序员更灵活地处理数组数据。
## 四、编程题1. 编写一个C语言程序,实现对整数数组的排序。
```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("Sorted array: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;}```2. 编写一个C语言程序,实现字符串的反转。
c语言考试题库及答案文经学院

c语言考试题库及答案文经学院一、选择题1. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,哪个运算符用于计算两个整数的和?A. +B. -C. *D. /答案:A二、填空题1. 在C语言中,____关键字用于定义一个函数。
答案:void2. 如果一个变量的值是5,那么表达式`5 % 3`的结果是____。
答案:23. C语言中,____运算符用于比较两个值是否相等。
答案:==三、简答题1. 请简述C语言中指针的概念。
答案:指针是一个变量,它存储了另一个变量的内存地址。
通过指针可以间接访问和修改变量的值。
2. 解释C语言中数组和指针的关系。
答案:在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\n", sum); return 0;}```答案:程序输出100以内所有偶数的和。
2. 编写一个C语言函数,计算并返回两个整数的较大值。
```c#include <stdio.h>int max(int a, int b) {return (a > b) ? a : b;}int main() {int x = 10, y = 20;printf("The larger number is: %d\n", max(x, y)); return 0;}```答案:函数max返回两个整数的较大值。
c语言期末考试试题及答案

c语言期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言的合法整数常量?A. 0x12B. 0123C. 12.34D. 1.2e3答案:A3. 在C语言中,用于将字符串复制到另一个字符串的函数是:A. strcpyB. strcatC. strcmpD. strlen答案:A4. 下列关于C语言函数的描述,错误的是:A. 函数可以返回一个值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以没有参数答案:C5. 在C语言中,用于声明一个指针变量的语法是:A. int *p;B. int *p = 0;C. int p*;D. int p = *0;答案:A6. 下列关于C语言数组的描述,正确的是:A. 数组的大小在声明时确定B. 数组的大小在运行时确定C. 数组的大小可以动态改变D. 数组的大小可以是任意值答案:A7. 在C语言中,用于打开文件的函数是:A. fopenB. fcloseC. freopenD. fgetc答案:A8. 下列关于C语言中文件操作的描述,错误的是:A. 文件指针必须指向有效的文件B. 文件指针可以指向标准输入输出流C. 文件指针可以是任意值D. 文件指针可以用于读写操作答案:C9. 在C语言中,用于输出格式化字符串的函数是:A. printfB. scanfC. sprintfD. fprintf答案:A10. 下列关于C语言中指针的描述,正确的是:A. 指针可以存储变量的地址B. 指针可以存储变量的值C. 指针可以存储函数的地址D. 指针可以存储数组的地址答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以获取变量的地址。
答案:&2. C语言中,使用________运算符可以对指针进行递增操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b=(-1)&&(-1);
printf( “ %d,%d” ,a,b);
}
A 、6,1
B 、2, 1
C、6, 0
专业知识分享
D 、2,0 ( 3)请阅读以下程序:
main()
{int a=5 , b=0 , c=0;
if (a+b+c) printf(
n“”*)*; *
else
printf( “ $n$”$ );
E) double fun(int x,y);
(2) 以下正确的函数形式是 A) double fun(int x,int y)
{z=x+y; return z;} B) fun(int x,y)
{int z;
。
专业知识分享
return z;} C) fun(x,y)
{int x,y; double z; z=x+y;return z;} D) double fun(int x,int y) {double z;
B 、 必 须在系统调用的库函数的后面
C、 可 以在任意位置。
D 、 必须在最后面 ( 4)一个 C 程序是由:
A 、 一个主程序和若干子程序组成
B 、 函数组成
C、 若干过程组成 D 、 若干子程序组成 ( 5)以下叙述 不正确 的是:
A 、 一个 C 源程序可由一个或多个函数组成
B 、 一个 C 源程序必须包含一个 MAIN 函数
C) 6
ቤተ መጻሕፍቲ ባይዱ
D) 7
WORD 格式整理
(5)为了避免在嵌套的条件语句中 相配对。
A )缩排位置相同的 if B )其之前最近的 if C)其之后最近的 if D )同一行上的 if
if-else 中产生二义性, c 语言规定: else 子句总是与
第五章 循环控制 (1) 设有程序段
int k=10 while (k=0) k=k-1 则下面描叙正确的是 A) while (k=0) k=k-1; B) 循环是无限循环 C) 循环体语句一次也不执行 D) 循环体语句执行一次
专业知识分享
WORD 格式整理
(3) 当输入数据的形式为:25,13,10 <回车 >时,以下程序的输出结果为
main()
{int x,y,z;
scanf(“ %d%d%”d ,&x,&y,&z);
printf( “ x+y+z=%n”d ,x+y+z);
}
A、 x+y+z=48
B、 x+y+z=35
} A) p 和 q 的类型不一致,不能执行 *P=*Q ;语句
B) P 中存放的是地址值,因此不能执行 *P=40 ;语句
B、 b++;
C、 a=b=5;
D、 b=int(x);
第四章 选择结构程序设计
( 1)能正确表示“当 x 的值在 [1, 10] 和 [200, 210] 的范围为真,否则为假”的表达式是
A 、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)
B 、(x>=1) ││ (x<=10) ││ (x.>=200) ││ (x<=210)
z=x+y;return z;}
WORD 格式整理
(3) C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是 A) 地址传递 B) 单向值传递 C) 由实参传给形参,再由形参传回给实参 D) 传递方式
(4)C 语言允许函数值型缺省定义,此时该函数值隐含的类型是
。
A)float 型
B)int 型
MAIN 函数结束。
A 、 在 C 程序中, MAIN 函数必须位于程序的最前面。
B 、 C 程序的每行中只能写一条语句。
C、 C 语言本身没有输入输出语句。 D 、 在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误。 ( 3)C 语言规定,在一个源程序中, MAIN 主函数的位置是在:
A 、 必须在最前面。
第三章 简单 C 程序设计 (1) putchar 函数可以向终端输出一个 A、整型变量表达式值 B、实型变量值 C、字符串 D、字符或字符型变量值 (2)若 x,y 均定义为 int 型, z 定义为 double 型,以下合法的 scanf 函数调用语句是 A、 scanf( “%d%lx,%le”,&x,&y,&z); B、 scanf( “%2d*%d%l”f ,&x,&y,&z); C、 scanf( “%x%*d%”o ,&x,&y,&z); D、 scanf( “%x%o%6.2”f ,&x,&y,&z);
C、 C 程序的基本组成单位是函数
D 、 在 C 程序中,注释说明只能位于一条语句的后面
第二章 数据类型、运算符与表达式 (1)若 x, i, j, k 都是 int 型变量,则计算下面表达式后, x=( i=4 , j=16 , k=32) A、4
x 的值为
专业知识分享
WORD 格式整理
B、16 C、32 D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、 define , IF, type B 、getc, char, printf C、include, scanf, case E、 i f, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是 A、A,P _0, do B、 float,1a0, _A C、 b-a, goto, int D 、_123, temp, INT (4)若有代数式3 ae/bc,则正确的C语言表达式是 A、 a/b/c*e*3 B、 3*a*e/bc C、 3*a*e/b*c D、 a*e/c/b*3 ( 5) 已知各变量的类型说明如下: int k, a, b; unsinged long w=5; double x=1.42; 则以下不符合C语言语法的表达式是 A、 x%(-3) B、 w+=-2; C、 k=(a=2,b=3,a+b) D、 a+=a-=(b=4)*(a=3)
B) 此说明语句不正确
C) 数组 a 中各元素都可得到初值,但其值不一定为
0
D) 数组 a 中每个元素均可得到初值 0 ( 4)下面程序___(每行程序前面的数字表示行号) 。
1 main()
2{
3
float a[10]={0};
4
int i
5
for(i=0;i<3;i++) scanf(
“ %d” ,&a[i];
C、(x>=1) &&(x<=10) ││ (x.>=200) &&(x<=210)
D 、(x>=1) ││ (x<=10)&& (x.>=200)
││ (x<=210)
( 2)以下程序的运行结果是
#incl ude “ stdio.h ”
main()
{int a,b,d=241;
a=d/100%9;
B) while 的循环控制条件比 do-while 的循环控制条件严格
C) do-while 允许从外部转到循环体内
D) do-while 允许从外部转到循环体内
(4) 以下能正确计算 1*2*3* … *10 的程序段是
。
A) do {i=1;s=1; s=s*i; i++;
}while(I<=10);
C、 x+z=35
D、不确定值
(4) 以下能正确的定义整型变量 A、 int a=b=c=5;
a,b 和 c,并对它们赋初值为5的语句是
B、 int a, b, c=5;
C、 a=5, b=5, c=5;
D、 a=b=c=5;
(5) 若有以下定义,则正确的赋值语句是
int a,b; float x; A、 a=1, b=2;
WORD 格式整理
C 语言试题库
一、 单项选择
第一章 C 语言概述
( 1)一个 C 程序的执行是从
A 、本程序的 MAIN 函数开始,到 MAIN 函数结束。
B 、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的 MAIN 函数开始,到本程序的最后一个函数结束。
D 、本程序文件的第一个函数开始,到本程序的 ( 2)以下叙述正确的是
6
for(i=1;i<10;i++) a[0]=a[0]+a{i};
7
printf( “n%”f ,a[0]);
8}
A) 没有错误 B) 第 3 行有错误
C) 第 5 行有错误 D) 第 7 行有错误 ( 5)若二维数组 a 有 m 列,则计算机一元素 位于数组的第一个位置上。 )
a[i][j] 在数组中位置的公式为____。
#define Z Y*x/2
则执行以下 printf 语句后,输出结果是
。
int a; a=Y;
printf( “n%”d ,Z);
printf( “n%”d--,a);
A)7 B)12 C)12 D)7
6
6
5
5
(5) 若有以下宏定义:
#define N 2
#define Y(n) ((N+1)*n)
。
专业知识分享
( 2)下面程序段的运行结果是
WORD 格式整理