c语言经典选择填空题1

合集下载

C语言填空选择判断1

C语言填空选择判断1

选择题1.已知大写字母A的ASCII码值是65,小写字母a的ASCII码值是97,则用八进制表示的字符常量'\101'是()。

A.字符AB.字符aC.字符eD.非法的常量2.下列程序段的输出结果为()。

float k=0.8567;printf("%4.lf%%",k*100);A.85.6%B.85.6%%C.85.7%D. .8753.下面的scanf函数输入数据,使得a=10,b=15,s1='S',s2='s',x1=1.5,x2=-3.75,x3=67.8, 正确的键盘输入方法是( ).(用"[CR]"表示回车,U表示空格)main(){int a,b;float x1,x2,x3;char s1,s2;scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&s1,&s2,&x1,&x2,&x3);}A、10UUU15Ss1.5U-3.75U+1.5U67.8[CR]B、10UUU15USUs1.5U-3.75U+1.5U67.8[CR]C、10UUU15USUsU1.5U-3.75U+1.5U67.8[CR]D、10UUU15Ss1.5U-3.75U+1.5,67.8[CR]4. C语言的if语句中,用作判断的表达式为( )。

A、任意表达式B、算术表达式C、逻辑表达式D、关系表达式5.以下程序的输出结果是:( )main(){int m=5;if(m++>5) printf("%d\n",m);else printf("%d\n",m--);}A、6B、5C、7D、46.以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++);()。

C语言练习题一及答案

C语言练习题一及答案

C语言练习题一一、填空题。

(每空1分,共10分)1.语句while(e==0):中的条件e==0等价于_____________;答案:!e2 printf(“%4s”,“beijing”);输出为:_____________;答案:beijing3.C语言中的字符串以字符_____________;答案:答案:\04.C语言可以处理的文件类型是_____________和_____________;答案:文本文件和二进制文件5,int(*P)[5];说明p是:_____________;答案:指向一维整形数组的指针变量6.函数直接或间接地调用自己,被称为函数的_____________;答案:递归7.若有static int x[5],x[4]的地址表示是:___________ 。

答案:&x[4]或x+48.有程序段如下:int x=l:while (x<=lO){x+=3;printf(“%d\n”,x);}则:函数printf()执行次数是____4_____ ,循环结束后X的值是___________ 。

答案:139.若有以下定义和语句,则sizeof(a)的值是_____,答案:12,而sizeof(b)的值是__。

答案:4 struct{int day;char month;int year;}a,*b;10.若有static char c[10] = “China”;执行该语句后c[1]= ___________ 。

答案:h c[5]= ___________ 。

答案:\0c[6]= ___________ 。

答案:\0 strlen(c)= ___________ 。

答案:511.若有Static char c[s]={’a’,’b’,’\0’(零),‘c’,‘d’};printf(“%s\n”,c):则输出内容为:___________ 。

答案:ab12.下面程序把从终端读人的10个整数以二进制方式写到一个名为bi.dat的新文件中。

c语言练习1

c语言练习1

练习1一、选择题1、一个C程序是由(B)。

A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成2、一个C程序的执行是从( A )。

A.main函数开始,直到main函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main函数开始,直到最后一个函数结束3、C语言语句的结束符是(B)。

A.回车符B.分号C.句号D.逗号4、下面标识符中( D )不是C语言的关键字。

A.char B.goto C.case D.include5、以下说法正确的是(A)A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。

B.C程序的注释只能是一行。

C.C程序的注释不能是中文文字信息。

D.C程序的注释中存在的错误会被编译器检查出来。

6、以下说法正确的是(D)A.C程序中的所有标识符都必须小写B.C程序中关键字必须小写,其他标识符不区分大小写C.C程序中所有标识符都不区分大小写D.C程序中关键字必须小写,其他标识符区分大小写。

7、设x、y均为float型变量,则以下不合法的赋值语句是(B)A.++x ; B.y=(x%2)/10 ; C.x*=y+8; D.x=y=0 ;解析:运算符%要求两端的操作数必须为整型,而在答案B中%号两端的操作数为x和2,x为实型,所以是错误的。

8、下列不正确的转义字符是(C)A.' \\ ' B.' \' ' C.' \19 ' D.' \0 '解析:转义字符是由单引号括起来的带反斜线的字符,这些字符具有特殊的含义,反斜线后可以是数字来代表某个字符,而这些数字只包括两种:八进制(1-3位)和十六进制(1-2位)。

十六进制前面要加x(或X),这里的C答案反斜线后是数字,但不是x开头,所以应该是八进制数,但是数值里有9,和八进制数不符,所以是错误的。

C语言练习题填空题1

C语言练习题填空题1
4.0(x>=20)main( )
{ float x,y;
scanf("%f",&x);
if(【】)
y=-1.0;
else if((【】)&&(x!=1))
y=2.0/(x-1.0);
else if(【】)
y=3.0/x;
else
y=4.0;
printf("%f/n",y); }
19.
以下函数的功能是将一个字符串S的内容颠倒过来。
}
printf(“\nsum的结果为:%f ”,sum);
}
22.
表达式4>3 && 7<5-!0的值为_______。
23.
char *p[10];这条语句的含义是:_________________________。
24.
假定x=10,则表达式x<=10?20:30的值为___________。
sum+=s[i];
if((i+1)%5==0)
{
w[k]=sum/5;
【2】;
k++;
}
}
}
main()
{
float s[SIZE],w[SIZE/5],sum;
int i,k;
fav1(s);
fav2(s,w);
}
4.
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为:_____________。
24.20
试卷指标统计数据
总题量
总分值
24
100
章节编码
题量
分值
章节说明
01

C语言程序设计-第1-7章选择、填空习题及答案

C语言程序设计-第1-7章选择、填空习题及答案

习题一一、选择题1.C程序的基本单位是(A)。

A.函数B.文件C.语句D.字符2.C程序中的变量(B)。

A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。

A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。

A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。

2.结构化程序由顺序、选择、循环三种基本结构构成。

3.一个C程序只有一个名为main的主函数。

4.C程序中的每个语句以分号结束。

5.C程序中,函数由函数首部和函数体组成。

6.每个基本结构有一个入口和一个出口,没有死循环和死语句。

7.算法是计算机解决问题所依据的步骤。

习题二一、选择题1.下列数据中属于字符串常量的是( B)。

A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。

A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。

A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。

A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。

A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。

A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。

A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。

A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。

A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/2 10.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。

C语言题库(1).docx

C语言题库(1).docx

一. 选择题 (单项)1. C 语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符——。

A必须为字母B必须为下划线C必须为字母或下划线 D 可以是字母、数字和下划线中的任一种字符2.下面 4个选项中,均是 C 语言关键字的选项是——。

Aauto enum includeBswitch typedef continueC signed union scanfD if struct type3.下面 4个选项中,均是不合法的用户标识符的选项是——。

A A P_0 doBfloat la0_AC b- a goto int D_123 temp INT4.在 C 语言中,int 、char 和 short 三种类型的数据在内存中所占用的字节数——。

A由用户自己定义B均为 2 个字节C是任意的D由所用机器的机器字长决定5.下面 4 个选项中,均是合法浮点数的选项是——。

A+1e+15e-9.403e2B- .60 12e-4-8e5C123e 1.2e-.4 +2e - 1D-e3 .8e-4 5.e -06.下面不正确的字符串常量是——。

AˊabcˊB〞 12ˊ12〞C〞0 〞D〞〞7.假设所有的变量均为整型,则表达式(a=2,b=5,b++, a+b)的值是——。

A7B8C6D28.以下正确的叙述是——。

A在 C 语言中,每行只能写一条语句B若 a 是实型变量, C 程序中允许赋值a=10,因此实型变量中允许存放整型数C在 C 程序中,无论整数还是实数,都能被准确无误的表示D在 C 程序中, % 是只能用于整数运算的运算符9.以下表达式值为 3 的是——。

A 16-13%10B2+3/2C 14/3-2D(2+6)/(12- 9)10.设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+ˊ aˊ +i*f 值的数据类型为——。

A intB floatC doubleD 不确定11.在 C 语言中, char 型数据在内存中的存储形式是——。

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。

c语言考试题及答案百度文库

c语言考试题及答案百度文库

c语言考试题及答案百度文库一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于将字符串从源地址复制到目标地址?A. strcpyB. strncpyC. strcatD. strcmp答案:A3. 下列哪个选项是C语言中合法的整型常量?A. 0x4FB. 4.5EC. 0b1010D. 0L答案:A二、填空题1. C语言中,用于定义一个变量为静态存储期的关键字是________。

答案:static2. C语言中,用于定义一个变量为自动存储期的关键字是________。

答案:auto3. C语言中,用于定义一个变量为寄存器存储期的关键字是________。

答案:register三、简答题1. 请简述C语言中指针的作用。

答案:指针在C语言中用于存储变量的内存地址,通过指针可以间接访问和修改变量的值,实现动态内存分配和数组操作等功能。

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

答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。

数组的每个元素可以通过指针访问,指针的偏移量可以用于遍历数组。

四、编程题1. 编写一个C语言程序,实现两个整数的加法运算。

答案:```c#include <stdio.h>int main() {int a = 5, b = 10;int sum = a + b;printf("Sum of %d and %d is %d\n", a, b, sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) { temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```。

c语言考试题及答案详解

c语言考试题及答案详解

c语言考试题及答案详解C语言考试题及答案详解一、选择题1. 下列哪个是C语言的关键字?A. voidB. mainC. returnD. print答案:A2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C二、填空题1. 在C语言中,用于定义一个整型变量的关键字是 ____ 。

答案:int2. 以下代码段的输出结果是____。

```cint a = 5;printf("%d", a++);```答案:5三、简答题1. 请简述C语言中数组的定义方式。

答案:在C语言中,数组的定义方式是通过指定数据类型、数组名和数组的大小。

例如,定义一个整型数组,大小为10,可以写作:int array[10];四、编程题1. 编写一个C程序,实现求两个整数的和,并输出结果。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("Sum is: %d\n", sum);return 0;}```五、论述题1. 论述C语言中指针的概念及其重要性。

答案:指针是C语言中的一个重要概念,它存储了变量的内存地址。

指针的重要性在于它允许程序员直接操作内存,这使得动态内存分配、数组操作、函数参数传递等成为可能。

指针的使用提高了程序的灵活性和效率,但也增加了编程的复杂性。

六、案例分析题1. 给定以下C语言代码段,分析其功能并指出可能存在的问题。

```cint func(int *p) {return *p * 10;}int main() {int a = 5;printf("%d\n", func(&a));return 0;}```答案:该代码段定义了一个函数`func`,它接受一个整型指针作为参数,并返回该指针指向的值乘以10的结果。

C语言试题-1(含答案)

C语言试题-1(含答案)

C语言试题2019.03一、单项选择题(共30分,每题1分)1.在PC机中,‘\n’在内存占用的字节数是()A.1 B.2 C. 3 D.42.字符串“ABC”在内存占用的字节数是()A.3 B. 4 C.6 D.83.在C语言中,合法的长整型常数是()A.0L B.4962710 C.0.054838743 D.2.1869 e104.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是()A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,25.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是()A.3 B.0 C.9 D.-126.设int k=32767;执行k=k+1;后k值为()最大值与最小值首尾相连A.32768 B.-32768 C.0 D.-17.下列正确的标识符是()A.hot_do B.a+b C.test! D.%y8.设int a=5,使b不为2的表达式是()A.b=6-(--a) B.b=a%2 C.b=a/2 D.b=a>3?2:19.执行x=(6*7%8+9)/5;后,x的值为()A.1 B.2 C.3 D.410.执行语句x=(a=3,b=a--)后,x,a,b的值依次为()A.3,2,3 B.2,3,2 C.3,3,2 D.3,2,211.设a=-3;执行(a>0)?a:-a;后,a的值为()A.3 B.1 C.0 D.-312.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为()A.7 B.8 C.9 D.213.下面正确的字符常量是()A.”c” B.’\\’’ C.’W’ D. ‘’14.若有代数式3ae/bc,则不正确的c语言表达式是()A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/c*315.在C语言中,要求运算数必须是整型的运算符是()书中55页A./ B.++ C.!= D.%16.若有说明语句:char c=’\72’;则变量c ( )A.包含1个字符 B.包含2个字符C.包含3个字符 D.说明不合法,c值不确定17.sizeof (float)是()返回值为4。

c语言填空题1

c语言填空题1

下面程序段的输出结果是__10___. int a=12;a=a&052;printf("%o\n",a);当a=3,b=2,c=1;时,执行以下程序段后 c=__2___. if(a>b) a=b; if(b>c) b=c; else c=b; c=a;若所用变量都已正确定义,请填写以下程序段的输出结果__OK___.for(i=1;i<=5;i++);printf("OK\n");若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组的元素中,数值最小的元素的下标是_8____.函数的_递归____调用是一个函数直接或间接地调用它自身.以下程序的输出结果是__8 (用跟踪程序运行的方法观察递归的过程)___。

fun( int x ,int *s){ int f1, f2;if( n == 1 || n == 2) *s = 1;else{ fun( n - 1, &f1) ;fun(n - 2, &f2);*s = f1 + f2;}}main(){ int x;fun(6, &x);printf(“%d\n”, x );}int main(struct node *first){struct node *p;int m;p = first ->next;m = p ->data;for(p =p ->next; p != '\0'; p =__2002___ )if( _Shangxian____ ) m = p -> data;return m;}调用 fopen 函数打开一文本文件,在"使用方式"这一项中, 以“只读”方式打开需填入_r____. 设 int x=1/4;则x的值为_0____.设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为___1__.int x=4,y=4,z=2;x=y==z; 则x的值为_0____.以下程序的执行结果是__9___。

C语言试卷1(含答案)

C语言试卷1(含答案)
else j=i;
putchar (j);
}
3、下面的函数功能是求x的y次方。
double fun(double x,int y)
{ int i;
double z=1;
for(i=1;i<=y;i++)
z=z*x;
return z;
}
4、先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将下标输出,若不存在这样的元素,则打印”Not found!”标志。
printf("\"%s\"\n",ch[1]);
}
A. "AAAA"B. "BBB"C. "BBBCC"D. "CC"
9.在C语言中,形参的缺省存储类是。
A. autoB. registerC. staticD. extern
10.以下程序的输出结果是。
main()
{ char x=040;
printf("%0\n",x<<1);
27.对break语句和continue语句,下面说法不正确的是。
A.break语句强制中断当前循环,退出循环体
B.break语句只能用在三条循环语句的循环体或switch语句中
C. 在没有循环情况下,continue语句能用在switch语句中
D.continue语句不能退出循环体
28.c语言允许if-else语句可以嵌套使用,规定else总是与配对。
A.&aa[0]+1B.&aa[1]C..&aa[0]++D. aa+1

C语言常见复习题(选择填空)及参考答案

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。

A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。

A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。

A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。

A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。

A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。

(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。

A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。

A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。

c语言试题1有答案

c语言试题1有答案

一、单项选择题(每题2分,15小题,共30分)1.C语言源程序是由组成的。

A) 过程B) 函数C) 子程序D) 主程序和子程序2.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是。

A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性3.以下选项中合法的C语言标识符是。

A) long B) _2Test C) 3Dmax D) A.dat4.下列转义字符中错误的是。

A) '\000' B) '\14' C) '\x111' D) '\2'5.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,是正确的。

A) 语法错误B) f为5.0 C) f为0.0 D) f为2.06.若变量a,b已经正确定义并赋值,符合C语言语法的表达式是。

A) a2+b B) a*a+b C) a×a+b D) a·a+b7.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是。

A) 132↙B) 1,3,2↙C) a=1b=3c=2↙D) a=1,b=3,c=2↙8.若 w=1,x=2,y=3,z=4,则条件表达式w<x ?w : y<z ?y : z的值是。

A) 4 B) 3 C) 2 D) 19.设int a=0,b=0,m=0,n=0;则执行(m = a==b)||(n = b==a)后m和n的值分别是。

A) 0,0 B) 0,1 C) 1,0 D) 1,110.以下for循环的执行次数是。

for (x=0,y=0; (y=123)&&(x<4);x++) ;A) 无限循环B) 循环次数不定C) 4次D) 3次11.下面程序段的输出结果是。

c语言考试题及答案以及解析

c语言考试题及答案以及解析

c语言考试题及答案以及解析一、选择题1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A解析:在C语言中,关键字是保留的词汇,用于表示特定的语法结构。

int是C语言中用于声明整型变量的关键字。

2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C解析:在C语言中,乘法运算符是星号(*),用于计算两个数的乘积。

二、填空题1. 在C语言中,以下代码片段的输出结果是:```cint main() {int a = 5;printf("%d", a);return 0;}```输出结果为:_________答案:5解析:代码中的printf函数用于输出变量a的值,a被初始化为5,因此输出结果为5。

2. 下列代码段中,变量b的值是多少?```cint main() {int a = 10, b;b = a + 5;printf("%d", b);return 0;}```变量b的值为:_________答案:15解析:变量b被赋值为变量a加上5,由于a的值为10,所以b的值为15。

三、简答题1. 简述C语言中的数组是什么,并给出一个数组的声明和初始化的例子。

答案:C语言中的数组是一种数据结构,用于存储相同类型的多个元素。

数组的声明需要指定元素的类型和数组的长度。

数组的初始化可以在声明时完成。

解析:例如,声明一个整型数组并初始化:```cint numbers[5] = {1, 2, 3, 4, 5};```2. 解释C语言中的函数是什么,并给出一个简单函数的定义和调用的例子。

答案:C语言中的函数是一段具有特定功能的代码块,可以接收参数,并返回一个值。

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

函数的调用是使用函数名称和必要的参数来执行函数。

解析:例如,定义一个函数来计算两个数的和,并调用它:```cint add(int x, int y) {return x + y;}int main() {int result = add(5, 10);printf("%d", result);return 0;}```四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。

(完整版)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语言填空题以及答案1. 题目一:将数组a中的元素按从小到大的顺序进行排序,并输出排序后的数组。

答案:```c#include <stdio.h>void bubbleSort(int arr[], int n) {for(int i = 0; i < n-1; i++) {for(int j = 0; j < n-i-1; j++) {if(arr[j] > arr[j+1]) {int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}int main(void) {int a[] = {5, 2, 9, 1, 3};int n = sizeof(a) / sizeof(a[0]);bubbleSort(a, n);printf("Sorted array: ");for(int i = 0; i < n; i++) {printf("%d ", a[i]);}return 0;}```2. 题目二:编写一个函数,判断一个数是否为素数,并在主函数中调用该函数。

答案:```c#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return 0;}}return 1;}int main(void) {int num;printf("Enter a number: ");scanf("%d", &num);if (isPrime(num)) {printf("%d is a prime number.", num);} else {printf("%d is not a prime number.", num); }return 0;}```3. 题目三:编写一个递归函数,计算斐波那契数列的第n个数,并在主函数中调用该函数。

C语言 选择 填空题

C语言  选择 填空题

1.有如下函数调用语句fun(rec1,rec2+rec3,rec4*rec5),该语句中含有的实参个数是A)3 B)4 C)5 D)有语法错误2. 以下程序的输出结果是#include <stdio.h>int a, b;void fun(){ a=100; b=200; }void main(){ int a=5, b=7;fun();printf("%d%d \n", a,b);}A) 100200 B) 57 C) 200100 D) 753. C 语言规定:简单变量作为实参时,它和对应形参之间的数据传递方式是()。

A.地址传递 B.单向值传递C.由实参传给形参,再由形参传回给实参 D.由用户指定的传递方式4. 若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为A) 1.4 B) 1 C) 2.0 D) 25. 以下不正确的字符串常量是(A)“x”(B)“ABC”(C)…ABC‟(D)“1”6. 若有定义:int x,y; char a,b,c;并有以下输入数据: 12ABC ↙(输入12ABC并回车)则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_______A)scanf("x=%d y=%d",﹠x,﹠y); a=getchar();b=getchar(); c=getchar();B)scanf("%d%d",﹠x,﹠y);a=getchar();b=getchar();c=getchar();C) scanf("%d%d%c%c%c",﹠x,﹠y,﹠a,﹠b,﹠c);D) scanf("%d%d%c%c%c%c%c%c",﹠x,﹠y,﹠a,﹠a,﹠b,﹠b,﹠c,﹠c);7. 若有说明语句:int a,b,c,*d=﹠c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是A) scanf("%d%d%d",﹠a,﹠b,d); B) scanf("%d%d%d",﹠a,﹠b,﹠d);C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);8. 若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%d\n",u,v,w);则输出结果是:A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,109. 下面程序的输出是( )#include "stdio.h"void main(){int x=100, a=10, b=20, ok1=5, ok2=0;if(a)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=-1;printf("%d\n",x);}A) -1 B) 0C) 1 D) 不确定的值10. 对下面的程序,正确的说法是。

C语言习题-1

C语言习题-1

C语言习题一、选择填空2-1要调用数学函数时,在#include命令行中应包含_C_。

(2分) A"stdio.h" B."string.h" C."math.h" D."ctype.h"2-2若变量已正确定义并赋值,符合C语言语法的表达式是_B._ (2分) A.a=2++ B.a=3,5 C.a=a+1=3 D.12.3%42-3表达式8>6>3值是(A )。

(2分)A.0B.1C.3D.表达式语法错2-4逻辑运算符两侧运算对象的数据类型(D)。

(2分)A.只能是0 或1B.只能是0 或非0 正数C.只能是整型或字符型的数据D.可以是任何类型的数据2-5以下名字,不能作为C语言标识符的是:C (2分)A.ThisIsQingdaoUniversityB.$$C.monkey~1D._2-6定义变量int a;,则表达式a = 3, 5; 执行过后,a的值和表达式的值分别是:A (2分)A.3 , 5B.5 , 3C.3 , 3D.5 , 52-7如果要求在if后一对括号中的表达式在表示a 不等于0 的时候的值为“真”,则能正确表示这一关系的表达式为(D )。

(2分)A.a<>0B.!aC.a=0D.a2-8能正确表示逻辑关系"a≥10 或a≤0"的C语言表达式是(D )。

(2分)A.a>=10 or a<=0B.a>=0 | a<=10C.a>=10 && a<=0D.a>=10 || a<=02-9下列程序段执行后s值为D。

int i=5, s=0;while(i--)if (i%2) continue;else s+=i;A.15B.10C.9D.6(2 分)2-10以下不正确的赋值或赋初值的方式是( C )。

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

选择题(30分)(第一部分分10分,第二部分12分,第三部分8分)第一部分:简单类题目( 50个题目,从中选择10,每题1分)1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为(C) A.4 B.16 C.32 D.5222.以下程序的输出结果(B)。

main( ){ int x1=3, x2=0, x3=0;if (x1=x2+x3)printf("* * * *");else printf("# # # #");}A.输出:* * * * B.输出:# # # #C.存在语法错误 D.无输出结果3.下面四个选项中,均是合法转义字符的选项是(A)。

A.'\'' '\\' '\n' B.'\' '\017' '\"'C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf'4.若有说明:int a=1,b=2,c=3,d=4;则表达式a<b?a:c<d?c:d的值是(D)。

A、4B、3C、2D、15.设i、j、和k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是(D)。

A. i&&j B.i<=jC.i||j+k&&j-k D.!((i<j)&&!k||1)6.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是(C)。

A.num%2= =1 B. !(num%2= =0) C.!(num%2) D.num%27.有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf(“%d\n”,x);}程序运行后的输出结果是 ( D ) 。

A.3 B.5 C.-1 D.-28.若有变量说明:int a=0,b=0,c=0;,以下符合C语言语法的赋值表达式是 ( C ) 。

A.a=9+b+c=a+9 B.a=9+b;c=a+9;C.a=(9+b,b++) D.a=9+b++=a+79.若有以下定义,若int m=7,n=12,则能得到值为3的表达式是 ( D ) 。

A.n%=(m%=5) B.n%=(m-m%5)C.n%=m-m%5 D.(n%=m)-(m%=5)10.以下能正确定义整型变量x、y和z并为其赋初值5的语句是 ( C ) 。

A.int x=y=z=5; B.int x,y,z=5;C.int x=5,y=5,z=5; D.x=5,y=5,z=5;11.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 ( C ) 。

A.abs(x-y)<10 B.x-y>-10&&x-y<10C.(x-y)<-10||!(y-x)>10 D.(x-y)*(x-y)<10012. 设 int a=12,则执行完语句 a+=a-=a*a后,a的值是( D )。

A 552B 264C 144D -26413 以下叙述不正确的是( D )A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面14 下关于运算符优先顺序的描述中正确的是( C )。

A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B)逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符15 下列程序的输出结果是( C )main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值16 printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式(B)A) 从左起输出该字串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字串,左补空格D) 输出错误信息17. 以下叙述正确的是( C )A. 在C程序中,main函数必须位于程序的最前面B. C程序的每行中只能写一条语句C. C语言本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误18. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( B )A. 7B. 8C. 6D. 219. 下面不正确的字符串常量是( A )··················A. 'abc'B. "1212"C. "0"D. ""20. 已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( A )A. a+=a-=(b= 4)*(a=3)B. a=a*3=2C. x%(-3)D. y=f1oat(i)21. 若有说明语句:char c='\72'则变量c描述正确的是( A )A. 包含1个字符B. 包含2个字符C. 包含3个字符D. 说明不合法,c的值不确定22. 已有定义int x; f1oat y;且执行scanf("%3d%f",&x,&y);语句,若输入12345 78(回车),则x 的值为 ( B )A. 12345B. 123C. 45D. 34523. 能正确表示"当x 的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( C )A. (x>=1) && (x<=10) && (x>=200) && (x<=210)B. (x>=1) || (x<=10) || (x>=200) || (x<=210)c. (x>=1) && (x<=10) || (x>=200) && (x<=210)D. (x>=1) || (x<=10) && (x>=200) || (x<=210)24.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)A. 0B. 1C. 2D. 325.在if(x)语句中的x与下面条件表达式等价的是:(A)A) x!=0 B) x==1 C) x!=1 D) x==026、已知字母A的ASCII码为(65)10,变量ch1为字符型,则执行语句ch1='A'+'6'-'3';后,ch1中的值为(A)A、DB、EC、一个不确定的值D、C27. 已知x=3、y=2,则表达式 x*=y+8的值为( C )A)3 B)2 C)30 D)1028. 设x为int型变量,则执行以下语句后,x的值为( B )。

x=10;x+=x- =x-x;A)10 B)20 C)40 D)3029 若有以下类型说明语句:char a; int b;float c; double d; 则表达式a*b+d-c的结果类型为( D )A.float B.char C.int D.double30 若二维数组a有m列,则在a[i][j]前的元素个数为( B )A)j*m+i B) i*m+jC)i*m+j-1 D) i*m+j+131 对for(表达式1;;表达式3)可理解为( B )A)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)32 以下描述不正确的是( C )。

A.使用while和do-while循环时,循环变量初始化的操作应在循环体语句之前完成B.while循环是先判断表达式,后执行循环语句C.do-while 和for循环均是先执行循环语句,后判断表达式D.for、while 和do-while循环中的循环体均可以由空语句构成33.下列程序段的运行结果是( C )。

int n=0; while(n++<=3); printf(“%d”,n);A 3B 4C 5D 有语法错误34. 设int a=3,b=4,c=5;,下列表达式的值不为1的是( A )。

A)a+b>c&&b==c B)a||b+c&&b-cC)!(a>b)&&!c||1 D)!(a+b)+c-1&&b+c/235. 有以下程序:#include <stdio.h>void main ( ){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf ("%d,%d\n",k,m);}程序运行后的输出结果是( C )。

A)0,0 B)0,1 C)1,0 D)1,136、以下能正确进行字符串赋值操作的是( D )A、char s[5]={"ABCDE"};B、char s[5]={'A', 'B', 'C', 'D', 'E'};C、char *s; *s="ABCDE";D、char *s="ABCDE";37 下面程序的运行结果是(B)#include <stdio.h>#include <string.h>main(){char *s1="AbDeG";char *s2="AbdEg";s1+=2;s2+=2;printf("%d",strcmp(s1,s2));}A) 正数 B) 负数C) 零D) 不确定的值38若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为(A )A) *(a[i]+j) B) (a+i) C) *(a+j) D) a[i]+j39以下能对二维数组y进行初始化的语句是(B)A、static int y[2][ ]={{1,0,1}, {5,2,3}};B、static int y[ ][3]={{1,2,3}, {4,5,6}};C、static int y[2][4]={{1,2,3}, {4,5} , {6}};D、static int y[ ][3]={{1,0,1,0}, { }, {1,1}};40 以下printf语句的输出结果是(B)printf("%d\n", strlen("school");A、7B、6C、存在语法错误D、不定值41 不能把字符串:Hello!赋给数组b的语句是( B)。

相关文档
最新文档