文档库 最新最全的文档下载
当前位置:文档库 › C语言复习题 (2)

C语言复习题 (2)

C语言复习题 (2)
C语言复习题 (2)

一、填空

1、C语言源程序文件的扩展名是 .c 。

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

3、已有定义int x=0,y=0; 则表达式(x+=2,y=x+3/2,y+5 )后,变量x的值为 2 ,变量y的值为 3 ,表达式的值为 7 。

4、在C语言中,二维数组元素在内存中的存放顺序是以行为主序,数组名代表该数组的首地址。

5、C语言的预处理语句以 # 开头。

6、C语言程序总是从 main函数开始执行,在 } 结束。

7、C语言程序的基本单位是函数。

8、设有“int x=2, y;”说明,则逗号表达式“y=x+5,x+y”的值是____9___ _。

9、数组表示类型相同的数据,而结构体则是若干任意类型的数据项的集合。

10、若有语句说明:int x=1, y=1, z=2; 以下表达式(x>z)? x:x

11、已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为 f 。

12、若有定义:double x[3][5];则x数组中,系统为其开辟___120___个字节的空间。

13、若int x=5; while(x>0) printf(“%d”,x- -);则循环执行次数为 5 次。

14、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 int 。

15、已知:struct student {

long num;

char name[10];

int age;

} stud;

则该结构体类型变量stud在内存中占 20 字节,https://www.wendangku.net/doc/0713635375.html,成员占 10 字节。

16、C语言的文件包含命令以 #include 开头。

17、能表述“-1-1&&x<1||x>=10 。

18、若int x=3; while(x>0) printf(“%d”,x++);则循环执行次数为无穷次。

19、若要用FOPEN函数打开一个新的二进制文件,该文件既能读也能写,则文件方式的字符串是 wb+ 。

20、char c; c=’A’+’6’-‘3’; 则c的值为( B )

A、65

B、D

C、66

D、67

21、C语言目标文件的后缀是 .obj 。

22、 C语言执行文件的后缀是___.exe___。

23、若变量c为char类型,能正确判断出c为小写字母的表达式是 c>=97&&c<=122 。

24、比较两个字符串大小的函数是 strcmp 。

25、int a[ ]={10,20,60,40,30,50 },*p=a,*(p+5)则结果是 50 。

26、、在定义一个共同体变量时,系统为其分配存储空间的原则是按成员中占存储空间最大者分配。

27、break 语句只能用在循环体内和 switch 语句体内。

28、当 x 为大于 1 的奇数时,x%2==0的值为 0 。

29、若有定义语句:int a[3][6] ,按在内存中的存放顺序,a数组的第10个元素是 a[1][3] 。

30、简单变量做实参时,它和对应形参间的数据传递方式是单向值传递。

31、函数调用abc((x,y,z),a,(b,c))的实参个数是___3___。

32、当文件在读写之前,必须用 fopen 函数打开,文件的关闭函数是 fclose

33、有如下语句:char A[]={”I am a student”}; 该字符串的长度是____15______,A[3]=____m______ 。

34、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是____a=1,b=3,c=2______。

35、C语言标准输出输入函数是,数学函数是,字符串处理函数是

36、int A[4][5]={{2,2,4},{4,6,5,6},{0}};二维数组A[1][2]中元素的值是( 5 )。

37、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 int 。

38、表达式21/5*10的计算结果是 0.42 ,表达式17+4>21&&18%3的计算结果是 0 。

39、数组名代表了数组第一个元素的地址。

二、程序设计题

1、求1!+2!+3!+4!+5!(p67)

#include

main()

{

int i,j,sum=0,t;

for(i=1;i<=5;i++)

{

t=1;

for(j=1;j<=i;j++)

t=t*j;

sum=sum+t;

}

printf(“1!+2!+3!+4!+5!=%d\n”,sum);

}

2、求100以内的所有奇数和.

#include

main()

{

int i=1,sum=0;

while (i<=100)

{

sum=sum+i;

i+=2;

}

printf(“100以内的奇数和为:%d\n”,sum);

}

4、求100以内的所有偶数和.

#include

main()

{

int i=0,sum=0;

while (i<=100)

{

sum=sum+i;

i+=2;

}

printf(“100以内的偶数和为:%d\n”,sum);

}

3、编程,输入一个百分制的成绩SCORE后,按等级输出。(P5) #include

main()

{

int s;

printf(“输入成绩SCORE”);

scanf(“%d”,&s);

if(s>=0&&s<=100)

{

switch(s/10)

{

case 10:printf(“A”) break;

case 9:printf(“A”) break;

case 8:printf(“B”) break;

case 7:printf(“C”) break;

case 6:printf(“D”) break;

default:printf(“E”) break;

}

}

else

printf(“error!”);

}

4、求一个整数各位之和(p70)

#include

main()

{

int a,sum=0;

scanf(“%d”,&a);

while(a>0)

{

sum+=a%10;

a/=10;

}

Printf(“sum=%d”,sum);

}

5、编程求二维数组a[3][4]={{1,2,3,4}, {9,8,7,6},{-10,10,-5,2}}中最大元素值及其行列号。#include

main()

{ int a[3][4]={{1,2,3,4}, {9,8,7,6},{-10,10,-5,2}};

int i,j,row,colum,max;

max=a[0][0];

for(i=0;i<=2;i++)

for(j=0;j<=3;j++)

if(max

{ max=a[i][j];

row=i;

colum=j;

}

printf("max=%d,row=%d,

colum=%d\n",max,row,colum);

}

6、随机输入20个字符,统计键入‘f’ 和‘k’字符的次数

#include

main()

{ int count=0,n; char ch;

for(n=1;n<=20;n++)

{ ch=getchar();

if (ch=='k'||ch=='f')

count++;

else continue;

}

printf("%d\n",count);

}

7、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/

#include "stdio.h"

main()

{int i,j,result;

for (i=1;i<10;i++)

{ for(j=1;j<10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result); }

printf("\n");/*每一行后换行*/

}

}

8、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

兔子的规律为数列1,1,2,3,5,8,13,21....*/

main()

{

long f1,f2;

int i;

f1=f2=1;

for(i=1;i<=20;i++)

{ printf("%12ld %12ld",f1,f2);

if(i%2==0) printf("\n");/*控制输出,每行四个*/

f1=f1+f2; /*前两个月加起来赋值给第三个月*/

f2=f1+f2; /*前两个月加起来赋值给第三个月*/

}

}

9、/*判断3—100之间有多少个素数,并输出所有素数及素数的个数。

程序分析:判断素数的方法:用一个数分别去除2到这个数,如果能被整除,

则表明此数不是素数,反之是素数。*/

main()

{

int m,n;

printf("the prime number is:\n");

for(m=3;m<100;m++)

{

for(n=2;n<=m;n++)

if(m%n==0) break;

if(n==m)

printf("%5d",m);

}

10、实现将输入的字符串反序输出,

如输入windows 输出swodniw。*/

#include

main()

{ char c[200],c1;

int i,j,k;

printf("Enter a string: ");

scanf("%s",c);

k=strlen(c);

for (i=k-1;i>=0;i--)

printf("%c\n",c[i]);

}

11、输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。*/ #include

#include

main()

{ char s[100];

int i,j,n;

printf("输入字符串:\n");

gets(s);

n=strlen(s);

for(i=0,j=n-1;i

if(s[i]!=s[j]) break;

if(i>=j) printf("是回文串\n");

else printf("不是回文串\n");

}

12、冒泡排序

#include

void swap(int *n,int *m)

{

int temp;

temp=*n;

*n=*m;

*m=temp;

}

main()

{

int a[10]={3,2,4,6,9,1,8,7,5,0},i,j;

for(i=0;i<9;i++)

{

for(j=i;j<9;j++)

{

if(a[j]

swap(a[j],a[j+1]);

}

for(j=0;j<10;j++)

printf(“%d “,a[j]);

}

}

13、选择排序。

14、在一个字串s1中查找一子串s2,若存在则返回子串在主串中的起始位置,不存在则返回-1。*/ main()

{char s1[6]="thisis";char s2[5]="is";

printf("%d\n",search(s1,s2));

}

int search(char s1[],char s2[])

{int i=0,j,len=strlen(s2);

while(s1[i]){

for(j=0;j

if(s1[i+j]!=s2[j]) break;

if(j>=len)return i;

else i++;

}

return -1;

}

15、(p10)

16、编程,从键盘输入三个整数,输出最大数,比较数的大小用函数实现。(P114)

17、文件的的复制。

#include

#include

void main()

{

char *srcFile="f:\\a\\t1.txt";

char *destFile="f:\\a\\t2.txt";

char ch;

FILE *sfp,*dfp;

sfp=fopen(srcFile,"r");

dfp=fopen(destFile,"w");

while ((ch=getc(sfp))!=EOF)

putc(ch,dfp);

fclose(sfp);

fclose(dfp); }

18、从文件tt.txt中顺序读取字符并显示出来。

#include “stdio.h”

main()

{

char c;

FILE *fp;

if((fp=fopen(“tt.txt”, “r”))==NULL) {

printf(“error!\n”):

exit(0);

}

c=fgetc(fp);

while(c!=EOF)

{

putchar(c);

c=fgetc(fp);

}

fclose(fp);

}

C语言试卷2及答案

扬州大学试题纸 系课程 C语言程序设计(A)卷2002—2003学年第2学期 班级_________学号________姓名__________得分___________ 一、选择题(每题分,共30分): 1、已知:char a; int b; float c; double d; 则执行语句:c=a+b+c+d; 后,变量c的类型为。 A. char B. int C. float D. double 2、已有定义int x; float y; 且执行scanf(“%2d%f”,&x,&y);语句时, 从第一列开始输入数据12345 67<回车>,则y的值是。 A. 无定值 B. 345.00000 C. D. 3、设有以下程序段 int x=0; s=0; while (!x!=0) s+=++x; printf(“%d”,s); 则。 A. 运行程序段后输出0 B. 运行程序段后输出1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 4、若i为整型变量,则以下循环执行次数是。 for(i=2; i==0;) printf(“%d”, i--); A. 无限次 B. 2次 C. 1次次 5、假设char ch=’a’, *p=&c h; ,以下语句中,有语法错误的是 . A. (*p)++; B. ch+=—‘a’+’A’; C. toupper(ch)=ch; D. ch++; 6、若说明:char *language[ ]={“VFP”,”C”,”VB”,”VC”,”JAVA”}; 则language[2]的值是。 A. 一个字符 B. 一个地址 C. 一个字符串 D. 一个不定值 7、C语言程序中,当调用函数时。 A. 实参和虚参可以共用存储单元 B. 实参和虚参各占一个独立的存储单元 C. 可以由用户指定是否共用存储单元 D. 由计算机系统自动确定是否共用存储单元 8、在程序中要使用语句:printf(“%s\n”, STRING); 输出提示信息:“OK! ”(包括双引号),则应使用宏定义语句。 A. #define STRING “OK!” B. #define STRING “”OK!”” C. #define STRING \”OK!\” D.以上三个答案都是错误的 9、数组和链表都可以用于存储一组数据,以下说法不正确的是_____________。 A. 数组占用连续的一块存储区域,链表可能占用若干不连续的存储区域 B. 数组和链表所占用的存储区域均不能在程序运行期间动态分配 C. 数组中的数据可以随机存取或顺序存取,链表中的数据只能顺序存取 D. 数组的长度是固定的,链表的长度是不固定的。 10、已知语句FIL E *fp; char ch= ‘c’;fp=fopen(“”,”w”);如果需要将ch的值保存到一个磁盘文件中,

C语言试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (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; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言基础练习题(含答案)Word版

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。B A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2. 下列字符序列中,不可用作C语言标识符的是()。B A.abc123 B.no.1 C._123_ D._ok 3. 正确的C语言标识符是()。A A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。B A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5. 下列符号中,不属于转义字符的是()。B A.\\ B.\0xAA C.\t D.\0 6. 不属于C语言关键字的是()。d A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。b A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是()。b A.scanf B.Void C._3com_ D.int 9. 一个C程序是由()。 b A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 c A.程序行 B.语句 C.函数 D.字符 11. 下列说法中,错误的是()。 a A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12. 以下说法中正确的是()。 c A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行

(完整版)c语言期末考试题及其答案

选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 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 * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套

C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为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++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i;

C语言程序设计模拟试题2(附答案)new

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是______ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是________。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( ) { if (x>amax) amax=x; else if (x

} 4.设n 是整型变量,且已具有某正整数值。根据下述数学式 1 1 14131312121+? ++?+?+n n 求s 的值并输出。 可编写如下之程序段实现之。请填空。 int k; double s,d; s=0.0; d=1.0; K=0; do { s=s+d; ___ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是____ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是_________ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

c语言期末考试试题

一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

c语言试题及答案 (2)

C语言部分 一、选择题(每小题2分,共10分) (下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在该小题题干后的括号内。错选或漏选均不得分)。 1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( A,C,D, E ) A、*(a+1)为元素6的地址 这里a+1=a[1]的地址;*(a+1)的值是6,故A正确。 B、*(a[1]+1)的值为2 为8,故B不正确 C、**(a+1)+2的值为8 这里a+1是一个指针,指向的是a[1]. *(a+1)为a[1],a[1]指向的是a[1][0]. **(a+1)为6,加2得8,故C正确; D、a[0]与a相同 因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故D正确。 E、a[1][2]的值为10 它是指第二行的第三个元素,为10,正确 2、对函数的正确使用方法描述( A,C,D )。 A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组 B、实参数组元素和形参数组元素类型可以不一致 C、形参数组长度可以不指定 D、形参数组长度可以大于实参数组长度 E、数组名做参数属于值传递 3、对静态变量的正确描述( A,B,D,E ) A、静态局部变量在静态存储区内分配单元() B、静态外部变量可以赋初值,也可以不赋初值 C、静态外部变量的作用与外部变量相同 D、静态局部变量在函数调用结束时,仍保存其值,不会随着消失。 E、静态局部变量只赋一次初值 4、下列描述正确的是( A ,C)。 A、由main 函数及其参数argc和* argv[]可以实现命令行方式 B、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中 //先写缓冲区数据到文件中,再释放文件指针 C、字符数组并不要求它的最后一个字符是‘\0’ //是的,以字符指针指向的字符串才要求,因为只有这样,才能知道字符串的长度,而在字符数组中,不用\0,一样可以知道到哪里是字符数组的结尾。 D、‘A’和“A”都是字符串常量 E、若char*S=“\ta\017bc”;则指针变量S指向的字符串所占的字节数是7 5、在缓冲文件系统中用于读写的函数有( A,B,D ) A、putchar () B、fread() C、rewind () D、purw() E、fseek() 二、程序阅读,并给出运行结果(共10分,每题5分)。 (1)main() { unsigned a,b,x int n; a=0x763 输出结果:

C语言全部题目及答案

C语言全部题目及答案 SANY GROUP system office room 【SANYUA16H-

C语言全部题目及答案 Exercise 1: Programming Environment and Basic Input/Output 1.Write a program that prints “This is my first program!” on the screen. (a)Save this program onto your own disk with the name of e2-1a; (b)Run this program without opening Turbo C; (c)Modify this program to print “This is my second program!”, then save it as e2-1b. Please do not overwrite the first program. 2.Write a program that prints the number 1 to 4 on the same line. Write the program using the following methods: (a)Using four “printf” statements. (b)Using one “printf” statement with no conversion specifier(i.e. no ‘%’). (c)Using one “printf” statement with four conversion specifiers 3.(a) Write a program that calculates and displays the number of minutes in 15 days. (b) Write a program that calculates and displays how many hours 180 minutes equal to. (c) (Optional) How about 174 minutes?

C语言基础知识综合练习题

一、 C语言基本知识和基本语句 (一)选择题 1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。 A)‘a’&&’b’ B) a<=b C) a || b+c&&b-c D) ! ((a= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。 A) A B) a C) Z D) z 3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf (“%d”,(x,y));则输出结果是()。 A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值 4.C语言中最简单的数据类型包括()。 A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型

C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型 5.C语言中,运算对象必须是整型的运算符是()。 A)% B) / C) % 和 / D) ** 6.数学关系x≥y≥z ,它对应C语言表达式是()。 A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z ) C) (x>=y>=z) D) (x>=y) & (y>=z ) 7.以下说法中正确的是()。 A)C语言程序总是从第一个定义的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 8.设int x=10,y=3,z;则语句printf (“%d n”,z=(x%y,x/y));的输出结果是()。 A) 1 B) 0 C) 4 D) 3 9.C语言表达式10 != 9 的值是()。 A)true B) 非零值 C) 0 D) 1

C语言习题及解答-2-1

C语言概述 一.选择题 1.下列选项中,合法的C语言关键字是 A) VAR B) cher C) integer D) default 2.请选出可用作C语言用户标识符的一组标识符____ A) Void define WORD B) a3_b3 _123 IF C) For -abc Case D) 2a Do sizeof 3.C语言提供的合法的数据类型关键字是____ A) Double B) short C) integer D) Char 4.在下列字符中,不可用作C语言标识符的是 A) water B) price C) a>b D) a12 5.一下叙述正确的是 A) C语言比其他高级高级 B) C语言可以不用编译就能被计算机识别执行 C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D) C语言出现的最晚、具有其他语言的一切优点 6.在一个C语言程序中 A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现 C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置 7.下列符号不属于C语言保留字的是 A) if B) then C) static D) for 8.下列说法正确的是 A) 主函数名main是由程序设计人员按照“标识符”的命名规则来选取的 B) 分号和回车符都可以作为语句的结束符号 C) 在程序清单的任何地方都可以插入一个或多个空格符号 D) 程序的执行总是从主函数main()开始的 参考答案 1.D 2.B 3.B 4.C 5.C 6.B 7.B 8.D 数据类型与表达式 一.选择题 1. 下列字符序列中,不可用作C语言标识符的是()。 A)abc123 B)no.1 C)_123_ D)_ok 2. 正确的C语言标识符是()。 A)_buy_2 B)2_buy C)?_buy D)buy?

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

C语言基础选择试题(一)

C语言基础选择试题(一) 2123 答案 :C 所谓“裸机”是指( )。 a:没有安装机箱 b:没有安装应用软件 c:没有安装任何软件的计算机 c:只安装操作系统的计算机 2145 答案 :D 可用于大小写字母转换的键是( )。 a:Esc b:CapsLock c:Shift c:CapsLock或Shift 1068 答案 :D 计算机病毒的主要特征是()。 a:只会感染不会致病 b:造成计算机器件永久失效 c:格式化磁盘 c:传染性、隐蔽性、破坏性和潜伏性 1054 答案 :D 个人计算机属于( ) 。 a:小型计算机 b:中型计算机 c:巨型计算机 d:微型计算机 1080 答案 :B 用汉语拼音输入“长沙”两个汉字,输入“changsha”8个字符,那么,“长沙”两字的内码所占用的字节数是()。 a:2 b:4 c:8 c:16 1053 答案 :A 操作系统的功能是( )。 a:提高系统资源的利用率,方便用户使用计算机 b:负责给程序和数据分配内存空间 c:负责各种文件的管理 c:管理磁盘文件和I/O设备管理 1055 答案 :C 组建以太网时,通常都是用双绞线把若干台计算机连到一个中心的设备上,这个设备叫做()。 a:网络适配器 b:服务器 c:集线器 c:总线 1057 答案 :D

应用软件是指( )。 a:所有能够使用的软件 b:能被各应用单位共同使用的某种软件 c:所有微机上都应用的基本软件 c:专门为某一应用目的而编制的软件 1078 答案 :B 为网络提供共享资源并对这些资源进行管理的计算机称之为()。 a:网卡 b:服务器 c:工作站 c:网桥 1082 答案 :B 在Windows98中运行应用程序时,下列哪个操作调不出帮助信息()。 a:按F1键 b:按F10键 c:单击“帮助”菜单 c:单击窗口右上角“”按钮 1068 答案 :A ISO/ OSI参考模型七层协议中第一层是()。 a:物理层 b:数据链路层 c:网络层 c:传输层 2083 答案 :A 解释程序的功能是()。 a:解释执行高级语言程序 b:解释执行汇编语言程序 c:将汇编语言程序翻译成目标程序 c:将高级语言程序翻译成目标程序 1071 答案 :B 在计算机网络术语中,WAN的中文意义是()。 a:以太网 b:广域网 c:互联网 c:局域网 1055 答案 :C 主存储器又称为()。 a:RAM b:ROM c:内存 c:外存 1056 答案 :D 把同种或异种类型的网络相互连接起来称为()。 a:广域网 b:万维网(WWW c:城域网 c:互联网

C语言考试题库及答案,推荐文档(2)

C 语言理论上机考试选择题部分(共200 题) 1、下面程序的输出是___D ______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D _______ A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是_______ A ____ . A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9 的值是________ D ___ . A) true B) 非零值C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是 B . A) Double B) short C) integer D) Char 6、字符(char) 型数据在微机内存中的存储形式是 __D__. A) 反码B) 补码C) EBCDIC 码D) ASCII 码 7、 C 语言程序的基本单位是 ____ C _____ . A) 程序行B) 语句C) 函数D) 字符 &设int a=12,则执行完语句a+=a-=a*a后,a的值是 ___ D ___ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10 、下面程序的输出是____ B _____ . {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11 、下面程序的输出的是_____ C ___ . #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是_____ A ____ . #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0 的关 系,则能正确表示这一关系的表达式为_______ D__. A) a<>0 B) !a C) a=0 D) a 14、以下程序的输出结果是____ D _____. #include void main() { int x=10,y=10; printf("%d %d\n",x--,--y); } A) 10 10 B) 9 9 C) 9 10 D) 10 9 15、设有如下定义: int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是____ D ____ . A) 1 B) 0 C) 4 D) 3 16、为表示关系x > y > z,应使用C语言表达式 ___A___. 17、 C 语言中非空的基本数据类型包括_____ B ___ . A) 整型,实型,逻辑型B) 整型,实型,字符型 C) 整型,字符型,逻辑型 D) 整型,实型,逻辑型,字符型 #include void main() A) (x>=y)&&(y>=z) C) (x>=y>=z) B) (x>=y)AND(y>=z) D) (x>=y) & (y>=z)

相关文档
相关文档 最新文档