C语言程序设计练习题

合集下载

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

C语言程序设计考试题(全题)

C语言程序设计考试题(全题)

福建师范大学C语言程序设计考试题系别 _______ 班级 _______ 姓名_________ 学号________ 得分__________一、选择题(本大题共40个选项,每个选择项1.5分,共60分)1.在C语言中,合法的字符常数是【1】A)‘程序设计’ B)“程序设计”C)c D)‘\\’2.在C语言中,以下不正确的八进制或不正确的十六进制数是【2】A)090 B)0xABC)0xla D)-0163.执行int x=2,y=3;后表达式x=(y==3)的值是【3】A)0 B)1C)2 D)34.执行语句int a,b,c; a=(b=c=3, c++, b+=c);则a的值是【4】A) 3 B) 4C) 7 D) 115.在循环结构的循环体中执行break语句,其作用是【5】A) 结束本次循环,进行下次循环B) 继续执行break语句之后的循环体中各语句C) 跳出该循环体,提前结束循环D) 终止程序运行【6】main(){char s[]=”\’Address\’”;printf(%d\n”, strlen(s));}A) 9 B) 10C) 11 D) 12【7】main(){int a[]={2, 4, 6, 8, 10}, y=1, x;for(x=0; x<3; x++) y+=a[x+1];printf(“%d\n”, y);}A) 17 B) 18C) 19 D) 208.已定义char x[8]; int i;为了给x数组赋值,以下正确的语句是【8】A) x[8]=”Turbo C”; B) x=”Turbo C”;C) x[]=”Turbo C”; D) for(i=0; i<7; i++) x[i]=getchar();9.设int a[][4]={0, 0};则以下错误的描述是【9】A) 数组a的每个元素都可得到初值0B) 二维数组a的第一维大小为1C) 数组a的行数为1D) 只有元素a[0][0]和a[0][1]可得到初值0,其余元素得不到初值0 【10】fun3(int x){static int a=3;a+=x;return a;}main(){int k=2, m=1, n;n=fun3(k);n=fun3(m);printf(“%d\n”, n);}A) 3 B) 4C) 6 D) 911.以下四个运算符,按优先级由高到低的排列顺序是【11】A) ++ % += > B) % ++ > +=C) % += > ++ D) ++ % > +=【12】A) 在函数外部定义的变量是全局变量B) 在函数内部定义的变量是局部变量C) 函数的形参是局部变量D) 局部变量不能与全局变量同名13.“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”括起时,寻找被包含的文件的方式为【13】A) 直接按系统设定的标准方式搜索目录B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索C) 仅仅搜索源程序所在的目录D) 仅仅搜索当前目录14.设有语句int(*p)();则p是一个【14】A) 指向一维整型数组的指针变量B) 指针函数,该函数的返回值为指向整型变量的指针C) 指向函数的指针变量,该函数的返回值为整型D) 数组指针,它的每个元素都是一个可以指向整型变量的指针变量15.若有typedef float AR[5];AR a;则以下叙述正确的是【15】A) a是一个新类型名B) AR是一个实型数组C) AR是一个实型变量D) a是一个实型数组【16】A)整型、实型、逻辑型B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型D)整型、实型、字符型17.在C语言中,变量所分配的内存空间大小【17】A)均为一个字节 B)由用户自己定义C)由变量的类型决定 D)是任意的18.在C语言中,合法的整型常数是【18】A)-0x123 B)3.14159 C19.下列各变量均为整型,选项中不正确的C语言赋值语句是【19】A)i+=++i; B)i=j==k;C)i=j+=i; D)i=j+1=k;≤y≤z可用C语言的表达式表示为【20】A)(x<=y)&&(y<=z) B)(x<=y)and(y<=z)C)(x<=y<=z) D)(x<=y)&(y<z)21.若定义float a;现要从键盘输入a数据,其整数位为3位,小数位为2位,则选用【21】A)scanf(“%6f”,&a); B)scanf(“%”,a);C)scanf(“%”,&a); D)scanf(“%f”,a);【22】unsigned a=0356,b;b=~a|a<<2+1;printf(“%x\n”,b);A)ffba B)ff71 C)fff8 D)fc0223.要使以下程序的输出结果为4,则a和b应满足的条件是【23】main(){int s,t,a,b;scanf(“%d%d”,&a,&b);s=t=1;if(a>0) s += 1;if(a>b) t= s + t;elseif(a==b) t=5;else t=2*s;printf(“%d\n”,t);}A)a>0并且a<b B)a<0并且a<bC)a>0并且a>b D)a<0并且a<b24.若int i;则以下循环语句的循环执行次数是【24】for (i=2;i==0;) printf(“%d”,i--);A)无限次 B)0次C)1次 D)2次【25】main(){int i;for(i=100;i<200;i++){if(i%5==0) continue;printf(“%d\n”,i);break;}}A)100 B)101C)无限循环 D)无输出结果【26】int i=1,a[]={1,5,10,9,13,7};while(a[i]<=10) a[i++]+=2;for (i=0;i<6;i++) printf(“%d”,a[i]);A)2 7 12 11 13 9 B)1 7 12 11 13 7C)1 7 12 11 13 9 D)1 7 12 9 13 7“abcde”赋初值给字符数组,不正确的语句是【27】A)char s[]=“abcde”; B)char s[]={’a’, ’b’,’c’,’d’,’e’,’\0’};C)char s[]={“abcde”}; D)char s[5]= “abcde”;28.若变量c为char类型,能正确判断出c为小写字母的表达式是【28】A) 'a'<=c<= 'z' B) (c>= 'a')||(c<= 'z')C) ('a'<=c)and ('z'>=c) D) (c>= 'a')&&(c<= 'z')【29】void fun(int *x, int *y){ printf("%d %d", *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2【30】main(){ int i, k, a[10], p[3];k=5;for (i=0;i<10;i++) a[i ]=i;for (i=0;i<3;i++) p[i ]=a[i *(i+1)];for (i=0;i<3;i++) k+=p[i] *2;printf("%d\n",k);}A) 20 B) 21 C) 22 D)2331.当执行下面的程序时,如果输入ABC,则输出结果是【31】main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789"); printf("%s\n",ss);}A) ABC6789 B) ABC67 C【32】A) int a[2][3]={0}; B) int a[][3]={1,2,3,4,5};C) int a[2][3]={{1,2},{3,4},{5,6}}; D) int a[2][3]={{1},{3,4,5}};33.若int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是【33】A) 2 B) 3 C) 4 D)无确定值34.下面程序段的运行结果是【34】int a[2][3]={1,2,3},i,j;for(i=0;i<2;i++)for(j=0;j<3;j++){a[i][j]=a[i*j%2][j]+a[i][(i+j)%3];printf(“%d,”,a[i][j]);}A) 2,4,6,2,0,8, B) 1,2,3,0,0,0,C) 1,2,3,2,0,6, D) 2,4,6,2,0,6,35.下面程序段的运行结果是【35】int a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d\n”,a[2][1]);A) 2 B) 4 C) 7 D)836.定义一个结构体变量时,系统分配给它的内存大小是【36】A)各成员所需内存量的总和B)成员中占内存量最大者所需内存容量C)结构中第一个成员所需内存容量D)结构中最后一个成员所需内存容量37.若typedef char STRING[255];STRING s;,则s是【37】A)字符指针数组变量B)字符数组变量C)字符变量D)字符指针变量38.若已定义:int *p,a;,则语句p=&a;中的运算符“&”的含义是【38】A) 位与运算B) 逻辑与运算C) 取指针内容D)取变量地址39.若有定义char *p,ch;则不能正确赋值的语句组是【39】A)p=&ch;scanf(“%c”,p);B)p=(char *)malloc(1); *p=getchar();C)*p=getchar();p=&ch;D)p=&ch;*p=getchar();40.下面程序段的运行结果是【40】char s[]=“ABC”;int i;for(i=0;i<3;i++) printf(“%s”,&s[i]);A) ABC B) ABCABCABC C) AABABC D)ABCBCC1.下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数0.5 C) 2L D) '\72'3.下列选项中,合法的C语言关键字是A) V AR B) cher C) integer D) default4.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A) 不定值B) 4 C) 3 D) 15.下面程序段的运行结果是【5】float y=0.0,a[]={2.0,4.0,6.0,8.0,10.0},*p;int i;p=&a[1];fo r(i=0;i<3;i++) y+=*(p+i);printf(“%f\n”,y);A) 12.0000 B) 28.0000 C) 20.0000 D) 18.00006.下面程序段的运行结果是【6】char c[]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s\n”,c);A) ab c B) ‘a’‘b’C) abc D) ab7.下面程序段的运行结果是【7】char s[10],*sp=“HELLO”;strcpy(s,sp);s[0]=‘h’;s[6]=‘!’;puts(s);A) hELLO B) HELLO C) hHELLO! D) h!8.若有定义int a[3][5],i,j;(且0≤i<3,0≤j<5),则a[i][j]的地址不正确表示是【8】A) &a[i][j] B) a[i]+jC) *(a+i)+j D) *(*(a+i)+j)9.若有定义int *p[4];,则标识符p是一个【9】A) 变量的指针变量B) 指向函数的指针变量C) 指向有四个整数元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针10.若有定义char *language[]={“FORTRAN”, “BASIC”,“PASCAL”,“JA V A”, “C”};则language[2]的值是【10】A) 一个字符B) 一个地址C) 一个字符串D) 不确定11.C语言规定,函数返回值的类型由【11】所决定。

《C语言程序设计》练习题

《C语言程序设计》练习题

《C程序设计》练习题一、单项选择题导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。

在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。

对于掌握不准的问题,应该通过上机实验来检验。

(注:选用普通整型数据占用2个字节的c编译器。

如 Turbo C 2.0 、Win-TC、Turbo C++ 3.0)【1.1】以下不正确的C语言标识符是____。

A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。

A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。

••• A) print B) iam C) Pxq D) str_l••• _3d one_half My->book Cpp••• oodbs tart$it line# pow••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。

A) auto,enum,include B) switch,typedef,continueC) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。

A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型(长度为2字节)的常数是。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。

图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。

如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。

要事先准备好保存文件的目录,例d:\lx 目录。

在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。

设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。

图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。

图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。

在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。

内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题1、编写程序:输入一矩形的长和宽,计算该矩形的面积。

2、编程:输入求的半径R,计算并输出球的体积。

3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。

4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。

(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。

6、编写一个C程序,输出以下信息:**************************Very Good!**************************7、编写一个程序,输入a、b、c三个值,输出其中最大值.8、写出程序运行的结果:main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}9、写出程序运行的结果:main(){char a ,b, c1,c2;float x ,y;a = 3;b =7;x = 8.5;y = 71.82;c1 = ' A' ;c2 = 'a ';printf("a= %d b = %d/n",a,b);printf("x = %f y = %f",x,y);printf("c1= %c,c2 =%c",c1,c2);}10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。

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

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

《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。

A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。

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

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。

大学c语言程序设计考试试题

大学c语言程序设计考试试题

大学c语言程序设计考试试题一、单项选择题(每题2分,共20分)1. C语言中,一个整型变量int所占的字节数是:A. 1字节B. 2字节C. 4字节D. 8字节2. 下列哪个关键字用于定义一个类?A. structB. classC. unionD. enum3. 在C语言中,用于计算两个浮点数平均值的函数是:A. pow()B. sqrt()C. fabs()D. average()4. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. readline()5. 在C语言中,字符串的结束标志是:A. 'E'B. '\n'D. '\0'6. 下列哪个是C语言中的合法标识符?A. 2classB. class2C. class+2D. class=27. C语言中,数组的下标默认从哪个数字开始?A. 0B. 1C. -1D. 随机数8. 在C语言中,sizeof运算符的作用是:A. 返回变量的类型B. 返回变量的值C. 返回变量的内存大小D. 返回变量的地址9. 下列哪个不是C语言中的控制流语句?A. ifB. forC. whileD. switch10. C语言中,函数的返回值类型定义在函数名的:A. 前面B. 后面C. 上面D. 下面二、填空题(每空3分,共30分)11. 在C语言中,使用________运算符可以实现逻辑与功能。

12. 当需要频繁修改数组中的元素时,应使用________类型的数组,以提高程序的运行效率。

13. C语言中,函数________可以用来获取字符串的长度,但不包括字符串结束标志'\0'。

14. 在C语言中,________关键字用于声明一个函数。

15. 一个C语言程序的执行是从________函数开始的。

16. 在C语言中,________关键字用于声明一个结构体。

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

C语言程序设计练习题一、选择题1. C语言是一种( c )程序设计语言。

A. 低级B. 面向对象C. 高级D. 智能2. 下列特性中,( d )不是C语言的特征。

A.运行效率高B.结构化程序设计C.能直接访问物理地址D.类型检测严格3.下列标识符中, d 不是C的关键字;A. intB. floatC. charD. scanf4.下列标识符中, d 不是C的关键字;A. sizeofB. shortC. longD. define5.下列标识符中, d 不是C的关键字;A. gotoB. breakC. autoD. printf6.下列标识符中, c 不是C的关键字;A. staticB. structC. voidD. include7.下列自定义标识符中, c 是不符合规定。

A. point1xB. _point1xC. 2pointxD. pointx_28.下列自定义标识符中, c 是不符合规定。

A. MAXB. _MINC. MAX$D. MIN_29.下列自定义标识符中, d 是不符合规定。

A. point1_B. _point1xC. pointxD. pointx_ #10.下列自定义标识符中, a 是不符合规定。

A. 2_point1xB. _point1xC. pointxD. pointx_211.定义int a=1; int *p=&a; 下列描述( b )是正确的。

A.&a和&p的值相同;B.a和*p的值相同;C.a和p的值相同;D.a和&p的值相同;12.定义int a=1; int *p=&a; 下列描述( d )是正确的。

A.&a和&p的值相同;B.&a和*p的值相同;C.a和p的值相同;D.&a和p的值相同;13.定义int a=1; int *p=&a; 下列描述( c )是错误的。

A.&a和&p的值不相同;B.&a和*p的值不相同;C.a和p的值相同;D.&a和p的值相同;14.定义int a=1; int *p=&a; 下列描述( d )是错误的。

A.&a和&p的值不相同;B.&a和*p的值不相同;C.a和p的值不相同;D.&a和p的值不相同;15.输入语句为:scanf("%f,%f\n",&radius,&high);下列键盘输入(d)是正确的。

A.1 2↙;B.1,2\n↙;C.1↙2↙;D.1,2↙;16.输入语句为:scanf("a=%f,b=%f",&radius,&high);从键盘输入(d)是正确的。

A.1 2↙;B.1,2↙;C.1↙2↙;D.a=1,b=2↙;17.输入语句为:scanf("a=%f,b=%f\n",&radius,&high);从键盘输入()是正确的。

A.1 2↙;B.1,2↙;C.1↙2↙;D.a=1,b=2\n↙;18.输入语句为:scanf("a=%f b=%f",&radius,&high);从键盘输入()是正确的。

A.1 2↙;B.1,2↙;C.1↙2↙;D.a=1 b=2↙;19.double PI=3.1415926, 输出语句为:printf("%3.2lf",PI);下列输出结果()是正确的。

A.3.1415926;B.3.2;C.3.1;D.3.14;20.double PI=3.1415926, 输出语句为:printf("%5.4lf",PI);下列输出结果()是正确的。

A.3.1415926;B.3.1415;C.3.1416;D.5.4;21.double PI=3.1415926, 输出语句为:printf("%3.4lf",PI);下列输出结果()是正确的。

A.3.1415926;B.3.141;C.3.1415;D.3.1416;22.double PI=3.1415926, 输出语句为:printf("%4.2lf",PI);下列输出结果()是正确的。

A.3.1415926;B.4.2;C.3.141;D.3.14;23 int a=-1;C语言整型数分配2个字节,在计算机中下列十六进制表示的a()是正确的。

A.ffff;B.8001;C.1001;D.0001;24 int a=-1;C语言整型数分配2个字节,在计算机中下列十六进制表示的a()是正确的。

A.0001;B.1001;C.-1;D.ffff;25 int a=-1;C语言整型数分配2个字节,在计算机中下列十六进制表示的a()是正确的。

A.1001;B.-0001;C.-1;D.ffff;26 int a=-1;C语言整型数分配2个字节,在计算机中下列十六进制表示的a()是正确的。

A.-ffff;B.8001;C.ffff;D.-1;27.下列关于数组名作函数实参的描述,正确的是(c )。

A.把实参数组首元素的地址传递给形参数组,两个数组共占同一段内存;B.实参数组把各个元素的值传递给形参数组,两个数组各占不同的内存;C.把实参数组首元素的地址传递给形参数组,两个数组各占不同的内存;D.实参数组把各个元素的值传递给形参数组,两个数组共占同一段内存;28.执行语句for (i=1;i++<3;);后变量i的值的是( b )。

A.3 B.4 C. 5 D.不确定29.在C语言中引用数组元素时,其数组下标的数据类型可以是( c )。

A .整型常量 B.整型表达式C .整型常量或整型表达式 D.任何类型的表达式30. 以下能对一维数组a 进行正确初始化的语句是( c )。

A .int a[10]=(0,0) B.int a[10]={ }; C .int a[ ]={0}; D.int a[10]={10*1};31.设有下列变量说明:char a; int x; float y; double z; 则表达式a*x-z+y 的值的数据类型为( d )。

A .float B.char C.int D.double32.若x 是int 型变量,则表达式x%2+(x+1)%2的值为( b ) 。

A .0 B.1 C.2 D.不确定33.设有定义int a=3,b=4,c=5,则表达式a||b+c&&b=c 的值为( )。

A .3 B.1 C.0 D.不确定34.判断字符串a 和b 是否相等,应当使用( d )A .if (a==b) B.if (a=b)C .if (strcpy(a ,b)) D.if (strcmp(a ,b))35.以下正确的说法是( c )A .定义函数时,形参的类型说明可以放在函数体内B .return 后面的值不能是表达式C .如果函数值的类型与返回值类型不一致,以函数值类型为准D .如果形参与实参的类型不一致,以实参类型为准36.C 语言中允许函数值类型缺省定义,此时该函数值隐含的类型是( d )A .float B.double C .long D.int37.若有说明:int a[10];则对a 数组元素的正确引用是( a )A .a[10] B.A[3.5] C. a (5) D.A[10-10]38.若有说明:int a[3][4];则对a 数组元素的正确引用是( a )A .a[2][4] B.A[2,4] C. a[1+1][0] D.A (2)(1)39.若有以下说明:int a[ ][3]={1,2,3,4,5,6,7};则数组a 的第一维的大小是( b )A .4 B.3 C. 2 D.不确定40.二维数组x 有m 列,若元素x[0][0]是第一个元素,则x[i][j]在数组中的位置是( a )A .i*m+j B.j*m+i C. i*m+j-1 D.i*m+j+141.在C 语言中,下列描述正确的是( b )A .函数的定义可以嵌套,但函数的调用不可以嵌套B .函数的定义不可以嵌套,但函数的调用可以嵌套C .函数的定义可以嵌套,函数的调用也可以嵌套D .函数的定义不可以嵌套,函数的调用也不可以嵌套42.表达式5!=4的值是( b )A .0 B.1 C.true D.任一非零数43.设逻辑型变量a ,b ,c ,其中a 的值为1,则逻辑运算表达式a||b||c 的值是( b )A .0 B.1 C.true D.不确定44.若a=5,b=4,c=2时,表达式a>b!=c 的值是( a )A .1 B.0 C.非1 D.不确定45.设逻辑型变量a ,b ,c ,其中a 的值为0,则逻辑运算表达式a&&b&&c 的值是( a )A .0 B.1 C.非1 D.不确定46.设x,y 均为float 型变量,则下列不合法的赋值语句是( b )A .++x B.y=(x%2)/10C .x*=y+8 D.x=y=047.已知字母a 的ASCII 码为十进制数97,且设ch 为字符型变量,则表达式ch=‟a ‟+‟8‟-…3‟ 的值为( a )A .‟f ‟ B.‟a ‟ C.‟d ‟ D.10248.若当a 的值为奇数时,表达式的值为“真”,当a 的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(c ) A .a%2==1 B.!(a%2==0) C. !(a%2) D.a%249.已知ch 是字符型变量,下列不正确的赋值语句是( d )A .ch=‟a+b ‟ B.ch=‟\0‟ C.ch=‟a ‟+‟b ‟ D.ch=5+950.若s 是int 型变量,则表达式s=25/3%3的值为( c )A .25 B.1 C.2 D.351.若s 是int 型变量,则表达式s%2+(s-1)%2的值为( b )A .0 B.1 C.–1 D.252.若s 是int 型变量,则表达式s%2+(s+1)%2的值为( b )A .0 B.1 C.2 D.不确定53.下列四个选项中,是不合法的用户标识符的选项是( c )A .P_0 B._abc C.goto D.temp54.下面是不正确的字符串常量的是( a )A .‟abc ‟ B.“12‟12” C.“0” D.“ ”55.下列表达式中,不能正确表达代数式ab xy2含义的C 语言表达式是( c )A .x/a/b*y*2 B.2*x*y/a/b C.2*x*y/a*b D.x*y/b/a*256.假设有下列变量说明:char a; int x; float y; double z; 则表达式a*x+z-y 的值的数据类型为( d )A .float B.char C.int D.double57.C 语言的编译系统对宏命令的处理是( c )A .在程序运行时进行的B.在程序连接时进行的C.和C程序中的其他语句同时进行编译的D.在对源程序中其他成分正式编译之前进行的58.下面能正确进行字符串赋值操作的是( b )A.char a[5]={“ABCDE”};B.char a[5]={‟A‟, ‟B‟, ‟C‟, ‟D‟, ‟E‟};C.char *a;a= {“ABCDE”};D.char *a;scanf(“%s”,s);59.若有定义:int a[5];则数组a中首元素的地址可以表示为( c )A.& a B.a+1 C. a D.&a[1]60.变量的指针,其含义是指该变量的( b )A.值B.地址C.名D.一个标志61.若已定义char s[10];则在下列表达式中不表示s[1]的地址的是( b )A.s+1 B.s++ C.&s[0]+1 D.&s[1]62.设有以下说明语句struct sss{int a;float b;}stype则下面的叙述不正确的是( c )A.struct是结构体类型的关键字B.struct sss是用户定义的结构体类型C.stype 是用户定义的结构体类型名D.a和b都是结构体成员名63.设有程序段:char str[ ]=”ABC”,*p=str;则输出*(p+3)的值为( b )A.67 B.0 C.字符‟C‟的地址D.字符‟C‟64.若有说明:int *p[4];则标识符p( b )A.是一个指向整型变量的指针B.是一个指针数组名C.是一个指针,它指向一个含有四个整型元素的一维数组D.说明不合法65.已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是( b )A.*p=max ; B.p=max;C.p=max(a,b);D.*p=max(a,b);66.若有结构体说明如下:struct student{int age;int num;}stu1,*p;p=&stu1;则以下对结构体变量stu1中成员age的非法引用是( b )A.stu1.age B.student.age C.p->age D.(*p).age67.若有定义:int a[ ]={2,4,6,8,10,12},*p=a;则*(p+1)的值是( b )A.2B.4 C.10 D.1268.若有定义:int a[5],*p=a;则对a数组元素的正确引用是( a )A.*&a[5] B.a+2 C.*(p+5) D.*(a+2)69.下面对typedef的叙述中不正确的是( b )A.用typedef可以定义各种类型名,但不能用来定义变量B.用typedef可以增加新类型C.用typedef只是将已存在的类型用一个新的标识符来代表D.使用typedef有利于程序的通用和移植二、填空题151. 在C语言程序中,使用输入输出需要包含的头文件是stdio.h 。

相关文档
最新文档