文档库 最新最全的文档下载
当前位置:文档库 › 大学C语言考试试题[1]

大学C语言考试试题[1]

大学C语言考试试题[1]
大学C语言考试试题[1]

C语言模拟试题

一、判断

1、关系运算符<= =与= =的优先级相同。(N )

2、C语言的函数可以嵌套定义。(N )

3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5,

则a=10,c=’A’,f=12.5.( Y )

4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y )

5、#define和printf都不是C语句。( Y )

6、Int I,*p=&I;是正确的C说明。( Y )

7、结构体类型只有一种。( N )

8、在Turbo C中,整形数据在内存中占2个字节。( N )

9、一个include命令可以指定多个被包含的文件。( N )

10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y )

二、选择

2、C语言中,char类型数据占(A)

A、1个字节

B、2个字节

C、4个字节

D、8个字节

3、已知x=43,ch=’A’,y=o;则表达式(x>=y&&ch<’B’&&!y)的值是(C)

A、0

B、语法错

C、1

D、“假”

4、以下的选择中,正确的赋值语句是(C)

A、a=1,b=2

B、j++

C、a=b=5

D、y=int(x)

5、C语言源程序的后缀是(B)

A、exe

B、c

C、obj

D、cp

6、执行下列语句的输出为(A)

Int j=-1; if(j<=1)printf(“***\n”);

Else printf(“%%%\n”);

A、***

B、%%%

C、%%%c

D、有错,执行不正确

8、以下程序的运行结果是(A)

Main()

{ int n;

For(n=1;n<=10;n++)

{ if(n%3= =0) continue;

Printf(“%d”,n);

}

}

A、12457810

B、369

C、12

D、1234567890

9、以下程序段的输出结果为(B)

for (i=4;i>1;i--)

for(j=1;j

putchar(‘#’);

A、无

B、# # # # #

C、#

D、# # #

10、以下对一维整形数组a的正确说明是(D)

A、int a(10 )

B、int n=10,a[n]

C、int n;scanf(“%d”,&n);int a[n]

D、#define SIZE 10(换行)int a[SIZE]

11、以下不能对二维数组a进行正确的初始化的语句是(C)

A、int a[2][3]={10}

B、int a[][3]={{1,2},{0}}

C、int a[2][3]={{1,2},{3,4},{5,6}}

D、int a[][3]={1,2,3,4,5,6}

12、C语言规定,函数返回值的类型是由(D)

Areturn语句中的表达式类型所决定B、调用该函数时的主调函数类型所决定

C、调用该函数时系统临时决定

D、在定义该函数时所指定的函数类型所决定

13、C语言规定:简单变量做实参时,它和对应形参之间的诗句传递方式是(B)

A、地址传递

B、单向值传递

C、由实传给形参,再由形参传给实参

D、由用户指定的传递方式

14、若有定义:char *p1,*p2,*p3,*p4,ch;则不能正确赋值的程序语句是(C)

A、p1=&ch;scanf(‘”%c”,p1)

B、p2=(char*)malloc(1);scanf(“%c”,p2)

C、*p3=getchar()

D、p4=&ch;*p4=getchar()

15、若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为(A)

A、p=&x[i]

B、p=x

C、p=x[i]

D、p=&(x+i)

17、以下运算符中,优先级最高的符是(C)

A、︱︳

B、%

C、!

D、= =

18、char a[10];不能将字符串“abc”存储在数组中的是(C)

A strcpy(a,”abc”)

B a[0]=0;strcat(a,”abc”)

C a=”abc ”

D int i;for(i=0;i<3;i++) a[i]=i+97;a[i]=0

19、C语言的if语句中,用作判断的表达式为(A)

A、任意表达式

B、逻辑表达式

C、关系表达式

D、算术表达式

20、C程序中的宏张开是在(C)

A、编译时进行的

B、程序执行时进行的

C、编译前预处理是进行的

D、编译时进行的

三、【程序填空】

1、功能:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为

1~100分。选手最后得分为:去掉一个最高分和一个最低分

后其余8个分数的平均值。请编写一个程序实现。

#include

void main()

{

int score,i,max,min,sum;

max=-32768;

min=32767;

sum=0;

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

{

printf("input number %d=",i);

scanf("%d",【?】); 【&score】

sum+=score;

if(【?】) max=score; 【score>max or max

if(【?】) min=score; 【scorescore】

}

printf("Canceled max score:%d\nCanceled min score:%d\n",max,min);

printf("Average score:%d\n",【?】); 【(sun-max-min)/8】

}

2、功能:下面的程序是求1!+3!+5!+……+n!的和。

#include

main()

{

long int f,s;

int i,j,n;

【?】; 【s=0】

scanf("%d",&n);

for(i=1;i<=n;【?】) 【i+=2 or 1=i+2】

{

f=1;

for(j=1;【?】;j++) 【j<=i or i>=j or j

【?】; 【f=f*j】

s=s+f;

}

printf("n=%d,s=%ld\n",n,s);

}

四、【程序改错】

1、功能:将一个字符串中的大写字母转换成小写字母。

例如:输入aSdFG输出为asdfg。

#include

bool fun(char *c) 【char fun(char*c)】

{

if(*c<='Z'&&*c>='A')*c-='A'-'a';

fun= c;

【return *c】

}

main()

{

char s[81],p=s; 【*p=s】

gets(s);

while(*p)

{

*p=fun(p);

puts(*p);

p++;

}

putchar('\n'); 【putchar(*p)】

}

2、功能:将字符串s中最后一次出现的子字符串t1替换成字符串t2,

所形成的新串放在w所指的数组中,在此处,要求t1和t2

所指字符串的长度相同。

例如:当s所指字符串中的内容为"abcdabfabc",t1中的内容为"ab",t2中的内容为"99"时,结果w所指数组中的内容

应为"abcdabf99c"。

#include

#include

#include

void fun (char *s, char *t1, char *t2 , char *w)

{

char *p , *r, *a;

strcpy( w, s );

while ( w ) 【while(*w) or while (*w!0)】{

p = w; r = t1;

while ( *r )

if ( *r = *p ) 【if(*r==*p)】

{

r++;

p++;

}

else

break;

if ( *r == '/0' ) a = w; 【if(*r==’\0’)a=w】

w++;

}

r = t2;

while ( *r )

{

a = *r; 【*a=*r】

a++;

r++;

}

}

main()

{

char s[100], t1[100], t2[100], w[100];

printf("\nPlease enter string S:"); scanf("%s", s);

printf("\nPlease enter substring t1:"); scanf("%s", t1);

printf("\nPlease enter substring t2:"); scanf("%s", t2);

if ( strlen(t1)==strlen(t2) )

{

fun( s, t1, t2, w);

printf("\nThe result is : %s\n", w);

}

else

printf("\nError : strlen(t1) != strlen(t2)\n");

}

郑大远程教育《C语言程序设计》第17章在线测试

C 语言程序设计》第17 章在线测试剩余时间: 59:54 答题须知:1 、本卷满分20 分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共 5 分) 1、若已定义:int a[] = {0,123,4,5,6,7,8,9}, *p = a, i;其中0 w i 则对,a数组元素不正确的引用是: D A、a[p-a] B、*(&a[i]) C、p[i] D、a[10] 2、已知int a[] = {1,2,3,4,5,6,7,8,9},*p = a;则值为3 的表达式是(A) A、p+ = 2,*(p++) B p+= 2,*++p C、p+= 3,*p++ D p+= 2,++*p 3、若有int f(int a,int b); ,则说明函数f( B)。 A、是一个内部函数 B、能被同一源程序其他文件中的函数调用 C、是一个外部函数 D、只能在本文件中使用 4、声明一个函数为外部函数,应该在声明函数的函数类型的前面加( C)。 A、auto B、static C、extern D、register 5、在主函数中定义的变量(A )。 A、只在主函数中有效 B、可以在整个文件中有效 C、可以在所有函数中有效 D、可以在被调用的函数中有效 第二题、多项选择题(每题2分,5道题共10分) 1、以下叙述中,正确的叙述是:ABC A、预处理命令须以#开始 B、在程序中凡以#开始的语句都是预处理命令 C、预处理行不是c的可编译语句 D、C程序在执行过程中对预处理命令进行处理 2、下列描述中,错误的描述是:BCD A、凡是C源程序中行首以#标示的控制行都是预处理指令 B、预处理是指完成宏替换和文件包含指定的文件调用 C、预处理指令只能位于程序首部 D、预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备 3、下列对宏定义的描述中,正确的描述是:ABD A、宏不存在类型问题,宏名无类型,参数也无类型 B、宏替换不占用运行时间

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

大学c语言必背基础知识_c语言基础知识大全

大学c语言必背基础知识_c语言基础知识大全 对于刚学计算机编程的同学来说,没一个编程知识都觉得很重要,其实不是的。下面小编为大家整理了相关大学c语言必背基础知识,希望大家喜欢。 大学c语言必背基础知识举例说明: printf(“-”,123 ); 第二部分有三位,大于指定的两位,原样输出123 printf(“]”,123 ); 第二部分有三位,小于指定的五位,左边补两个空格123 printf(“f”,1.25 ); 小数要求补足6位的,没有六位的补0,。结果为1.250000 printf(“%5.3f”,125 ); 小数三位,整个五位,结果为1.250(小数点算一位) printf(“%3.1f”,1.25 );小数一位,整个三位,结果为1.3(要进行四舍五入) 第三节数据输入1、scanf(“a=%d,b=%d”,">2、scanf(“%d,%d”,x,y);这种写法绝对错误,scanf的第二个部分一定要是地址!scanf(“%d,%d”,注意写成这样才可以! 3、特别注意指针在scanf的考察例如:int x=2;int *p=scanf(“%d”,x); 错误scanf(“%d”,p);正确scanf(“%d”,错误scanf(“%d”,*p)错误 4、指定输入的长度(考试重点)终端输入:1234567scanf(“-M%d”,x为12,y为3456,z为7终端输入:1 234567 由于1和2中间有空格,所以只有1位给xscanf(“-M%d”,x 为1,y为2345,z为67 5、字符和整型是近亲:int x=97;printf(“%d”,x); 结果为97printf(“%c”,x); 结果为a 6、输入时候字符和整数的区别(考试超级重点) scanf(“%d”,这个时候输入1,特别注意表示的是整数1 scanf(“%c”,这个时候输入1,特别注意表示的是字符‘1’ASCII为整数48。 补充说明: 1)scanf函数的格式考察: 注意该函数的第二个部分是scanf(“%d%d%*d%d”,跳过输入的第三个数据。 2)putchar ,getchar 函数的考查:

郑州大学c语言实验报告答案

郑州大学C语言实验报告答案 实验一 1、 #include void main() { int a,b,c; scanf("%d,%d,%d",&a,&b,&c); printf("sum=%d\n",a+b+c); }2、 #include void main() { int a,b,he,cha,ji,shang; scanf("%d,%d",&a,&b); he=a+b; cha=a-b; ji=a*b; shang=a/b; printf("he=%d\n",he); printf("cha=%d\n",cha); printf("ji=%d\n",ji); printf("shang=%d\n",shang); }3、 #include void main() { int a,b,c,d,e,sum; scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d,&e); sum=a*a+b*b+c*c+d*d+e*e; printf("sum=%d\n",sum); } 4#include include void main() { double a,b,c,sum; scanf("%lf,%lf,%lf",&a,&b,&c); sum=sqrt(a)+sqrt(b)+sqrt(c); printf("sum=%f\n",sum); }

#include #define PI 3.14159 void main() { float r,l,s; printf("请输入圆半径(r):"); scanf("%f",&r); l=2*PI*r; s=r*r*PI; printf("\n圆周长 l=%6.2f\n",l); printf("圆面积 s=%6.2f\n",s); } 6、 #include void main() { printf("\"what a beautiful campus!\"\n"); printf("\"I wish you every success!\"\n"); } 实验二 1、#include void main() { int a,b,c;float x; scanf("a=%d,b=%d,c=%d,x=%f",&a,&b,&c,&x); printf("%f",a*x*x*x+b*x*x+c); } 2、#include void main() { int a,b; scanf("a=%d,b=%d",&a,&b); printf("ji=%d,shang=%d,yushu=%d",a*b,a/b,a%b); }3、 #include void main() { float c,f; printf("请输入一个华氏温度f:"); scanf("%f",&f); c=5.0/9.0*(f-32); printf("\n摄氏温度为: %5.2f\n",c);

大学c语言考试基础知识复习

C 语言最重要的知识点复习资料总体上必须清楚的: 1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。 2)读程序都要从()入口, 然后从最上面顺序往下读(碰到循环做循环, 碰到选择做选择),有且只有一个函数。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)是位是指为0 或者1 。是指字节, 一个字节= 八个位. 概念常考到的: 1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以数值存放在文本文件中。 2、 3.1415926; 这个写法是错误的,一定不能出现分号。 3、每个C语言程序中函数是有且只有一个。 4、在函数中不可以再定义函数。 5、算法:可以没有输入,但是一定要有输出。 6、可用于循环结构和语句。 7、逗号运算符的级别最低,赋值的级别倒数第二。 第一章 C 语言的基础知识 第一节、对C语言的基础认识 1、C语言编写的程序称为源程序,又称为编译单位。 2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。 3、一个C语言程序有且只有一个函数,是程序运行的起点。第二节、熟悉 1、是软件,用来运行写的C语言程序。 2、每个C 语言程序写完后,都是先编译,后链接,最后运行。()这个过程中注意和文件时无法运行的,只有文件才可以运行。(常考!) 第三节、标识符 1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。有其它元 素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。都不是关键字。迷惑你的地方是 可以做为用户标识符。因为中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。二进制、八进制、十六进制转换 成十进制。 第五节:整数与实数 1)C 语言只有八、十、十六进制,没有二进制。但是运行时候,所有的进制都要转换成二进制来进行处理。(考过两次) a 、C语言中的八进制规定要以0开头。018的数值是非法的,八进制是没有 8 的,逢8 进1。 b 、C语言中的十六进制规定要以Ox开头。 2)小数的合法写法:C语言小数点两边有一个是零的话,可以不用写。

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

郑州大学c语言考试题1

【HNCE网上考试系统 v9.6】本套软件使用权属于:郑州大学 考试课程: 考试时间:100分钟考场:第一考场考试日期:2013.05.24 考号:11100000000姓名:剩余时间:99:41 保存交卷退出帮助 有3道大题: 项选择题(50道小题,共50分) 一个C语言程序是由()。(1分) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 一个C程序的执行是从()。(1分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 以下叙述中,不正确的是()。(1分) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 若有语句:int x=3;do{printf("%d\n",x-=2);}while(!(--x));,则程序段()。(1分) A、输出的是1 B、输出的是1和-2 C、输出的是3和0 D、是死循环 下列四个选项中,都是合法的转义字符的是()。(1分) A、'\''、'\\'、'\n' B、'\'、'\017'、'\"' C、'\018'、'\f'、'xab' D、'\\0'、'\101'、'x1f' 若有定义:int a=7;float x=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是()。(1分) A、2.500000 B、2.7500OO C、3.500000 D、0.000000 若x,i,j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后,x的值为()。(1分)

贵州大学2012-2013C语言考试A卷 附 重要考点复习资料

贵州大学2012-20103学年第一学期考试试卷 A C语言程序设计 满分100分,考试时间为120分钟。 一、单项选择题(选出一个正确答案,每小题2分,共20分) 1.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( ) A.连接、编译 B. 连接、运行 C. 编译、运行 D. 编译、连接 2.下列说法正确的是() A.一个c语言程序并非总是从主函数位置开始执行的 B.一个c语言程序有且只有一个主函数 C.函数可以嵌套定义,不可以嵌套调用 D.程序函数的位置不可以任意 3.下面是合法C语言标识符的是() A. 2A_K; B. _M+N; C. –M3; D. AC_2; 4.下列格式符中,可以用于控制字符输出的是( ) A. %d B. %f C. %o D. %c 5.设x、y、z和k都是int型变量,则执行表达式x=(y=4,z=16,k=30)后,x的值是( ) A. 4; B. 16; C. 30; D. 50; 6.执行语句“for(i=1,s=0;i<=5;i++) s+=i;”后,变量s、i的当前值是( ) A. 10,5 B. 15,6 C. 15,5 D. 10,6 7.若有定义 int x,*p;,则以下正确的赋值表达式是( ) A. p=x; B. p=&x; C. *p=&x; D. *p=*x; 8.以下对结构体类型变量的定义中,不正确的是( ) A. typedef struct aa B. #define AA struct aa { int n; AA { int n; float m; float m; }AA; } stud; AA stud; C. struct D. struct { int n; { int n; float m; float m; }aa; }stud; struct aa stud; 9.有如下函数调用语句: func(rec1,rec2+rec3,(rec4+rec5)); 函数调用语句中,含有的实参个数是( ) A. 3 B. 4 C. 5 D. 以上均不是 10.对于以下宏定义: #define SQ(x) x*x #define QQ(x,y) SQ(x)- SQ(y) 宏调用QQ(2*3,2+3)执行后值为( ) A.25 B.11 C.43 D.以上均不是

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

郑州大学c语言考精彩试题1

【HNCE网上考试系统v9.6】本套软件使用权属于:大学 考试课程: 考试时间:100分钟考场:第一考场考试日期:2013.05.24 考号::剩余时间:99:41 保存交卷退出帮助 有3道大题: 项选择题(50道小题,共50分) 一个C语言程序是由()。(1分) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 一个C程序的执行是从()。(1分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 以下叙述中,不正确的是()。(1分) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 若有语句:int x=3;do{printf("%d\n",x-=2);}while(!(--x));,则程序段()。(1分) A、输出的是1 B、输出的是1和-2 C、输出的是3和0 D、是死循环 下列四个选项中,都是合法的转义字符的是()。(1分) A、'\''、'\\'、'\n' B、'\'、'\017'、'\"' C、'\018'、'\f'、'xab' D、'\\0'、'\101'、'x1f' 若有定义:int a=7;float x=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是()。(1分) A、2.500000 B、2.7500OO C、3.500000 D、0.000000 若x,i,j和k都是int型变量,则执行表达式 x=(i=4,j=16,k=32)后,x的值为()。(1分)

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大学c语言学习心得感悟

大学c语言学习心得感悟 通过这次大学c语言计算机实习学习,我们了解了一些关于c 语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。下面是WTTWTT为大家收集整理的大学c语言学习心得感悟,欢迎大家阅读。 大学c语言学习心得感悟篇1 林林总总的计算机语言,林林总总的计算机技术,林林总总的计算机书籍让我们初入计算机的菜鸟一次就吓的没有勇气。迷茫和徘徊让我们丧失了时间和信心。没有诀窍吗?有的,看你怎么把握了,接下来我就以C语言为例子,讲一下有关学习的方法和技巧,同时也分享一下我学C的感想。 许多人第一次接触C语言都会觉得C语言难懂和不容易使用,其实就我个人的看法,C语言其实是很基础的汇编语言,除了一些必须要记忆的关键字、语法和库函数,其余的都是需要靠自己的逻辑思维通过这些关键字、语法和库函数来组织或构成一个完整的函数,所以C语言大多数的学习时间都是在锻炼我们的抽象逻辑思维能力。只有当你具有了抽象逻辑思维能力和弄清楚了关键字、语法和库函数的相关知识后,编写C语言就不是难事了。 通过C语言初步的学习后都很容易弄懂关键字、语法和库函数的相关知识,但是由于大部分人因为以前没有接触过电脑或电

脑语言的相关知识所以缺乏抽象逻辑思维能力,不知道如何将所学到C语言的知识如何组织和构成一个完整的函数,那么如何来有效的锻炼自己的抽象逻辑思维能力呢? 在这里是我个人的一套自学心得,通过学习后所掌握的知识使用上课老师所提到的案例或找一段简单的完整的案例,然后将案例读懂,也就是把它转换成我们日常所能接受的自然语言(在这里不妨把你所能理解的自然语言写下来)。例如下面这段代码是手工输入两个整数数字并计算两个数字之间从最小的数字开始到最大的数结束其中所有奇数相加的和: void main { 首先INT是表示整数形数据的定义,那么接下来有两个未知的整数和一个已知的整数0;这里出现的3个整数数字用C语言里的变量来替代它们,这时第一个数字就用取名为NUM1的变量,第二个数字就用取名为NUM2的变量,第三个数字就用取名为X的变量并且用赋值符号来为它赋予0这个值。 int num1,num2,x=0; 由于知道了有两个未知的整数,所以要通过键盘输入使这两个未知的整数变成已知的整数并且储存在前面所提到的变量中。 scanf("%d%d ",&;num1,&;num2) ; 得到数字后下面就开始进行一系列的运算和判断,如果NUM1小于NUM2的话最小的数字就是NUM1最大的数字就是NUM2,如果

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

郑大远程教育《C语言程序设计》第05章在线测试

《C语言程序设计》第05章在线测试 剩余时间: 59:46 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、已有int x=2,y=7;则printf("%d",x+y==6);的输出结果是:A A、0 B、3 C、9 D、2 2、下列不能输出字符B的是:B A、putchar(ˊ\x42ˊ); B、putchar(ˊ\x41ˊ); C、putchar(66); D、putchar(ˊ\101ˊ); 3、下列算术运算符中,只能在两个整型数据之间进行的运算符是( )。D A、* B、+ C、/ D、%

4、已知:int i; char c; float f; 以下表达式中值为整型的算数表达式是( )。B A、i + f B、i * c C、c + f D、i + c + f 5、函数putchar可以向终端输出一个( )。D A、任一整型的值 B、实型的值 C、字符串 D、字符 第二题、多项选择题(每题2分,5道题共10分) 1、x、y、z被定义为int 型常量,若从键盘给x、y、z输入数据,不正确的输入语句是:ACD A、input x、y、z; B、scanf(” %d%d%d”,&x,&y,&z); C、scanf(” %d%d%d”,x, y, z); D、read (” %d%d%d”,&x,&y,&z); 2、设有说明语句:char a=ˊ\72ˊ;,则变量a包含的字符数为:A A、1个字符 B、2个字符 C、3个字符 D、0个字符

C语言循环知识点总结

循环 特点:在满足特定条件的情况下,反复执行某程序段。 While循环 While循环的格式是这样的:while(条件表达式){语句代码},意思是满足括号内的条件时,执行花括号内的语句代码。或者更专业一点来说,当括号内的条件表达式返回值为真时,执行花括号内的代码,一直到条件表达式的返回值为假时,跳出循环。 While循环很容易出现死循环这种状况,就是因为忘记写了“增量”这个东西。 上面的代码就是少了count++,这个增量,所以,条件表达式一直满足,就一直执行,就造成了死循环。 此时,应该这样改进:

一些例子:

Do-while循环 与while不同的只有一个地方,就是先执行一遍代码,再进行判断。也就是说,不管你while的条件表达式成不成立,返回值为不为假,我都执行一遍循环体的代码。 随机数arc4random() 产生随机数的方法,arc4random()可以产生int范围内的任意一个随机数,包括有正数和负数,为什么会出现负数呢?因为,在存储的时候,生成的数的最高位的数字为1,此时,会认为这个1是符号位的负,因此会出现负数。这时,我们应该把这些情况避免掉,在输出之前,用unsigned 来定义一个变量来接收产出的随机数;在输出的过程中,占位符不再用%d,而是用%u来代替。 另一个值得注意的是,随机数产生的时候,数字会很大,而我们在代码过程中,

不需要这么大的数,此时,想要把这个数减小,可以用取余的办法来限制。 在产生一个随机数的时候,可以让它在固定的区间内产生,那么就会用到这个公式: 若是规定在负空间生成随机数,那么就将公式改成: 一些例子:

郑大远程教育《C语言程序设计》第14章在线测试

《C语言程序设计》第14章在线测试 剩余时间: 59:55 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、以下程序:main( ) {int x=5; if (x--<5) printf(“%d\n”, x); else printf(“%d\n”, x++); },程序运行后,输出结果是:B A、3 B、4 C、5 D、6 2、若int a=5,b=6,c=7,d=8,m=2,n=2; 则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为:C A、0 B、1 C、2 D、3 3、在函数中定义变量时,若省略存储类型符,系统默认存储类别为( )。A A、自动 B、静态

C、外部 D、寄存器 4、下列选项中关于register变量,正确的是( )。A A、频繁存取的自动变量适于定义为register变量 B、外部变量适于定义为register变量 C、存储单元较大的变量,适于定义register变量 D、静态存储的内部变量,适于定义为register变量 5、下列表述中的逗号,作为逗号运算符的是( )。B A、int fun ( int x, int y ); B、x =( x + y, x * x ); C、printf ( "%d%d", x, y ); D、printf ( "Hello, world!" ); 第二题、多项选择题(每题2分,5道题共10分) 1、已知int a[]={1,2,3,4,5,6,7,8,9},*p =a; 则值为3的表达式是()AC A、p+=2,*(p++) B、p+=2,*++p C、p+=2,*p++ D、p+=2,++*p 2、如果全局的外部变量和函数体内定义的局部变量重名,则错误说法为:ACD A、出错 B、局部变量优先 C、外部变量优先

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

上海理工大学 c语言复习卷以及答案

参考解答 一、单选题 1. 以下C程序中预处理命令写法正确的是: D 。[知识点:编译预处理命令] A. #include “studio.h” B. #include [stdio.h] C. #include {stdio.h} D. #include “stdio.h” 2.执行下列语句序列后,不可能出现的运行结果是___ C ____。[知识点:开关语句] int n; scanf( "%d", &n); switch ( n ) { case 1: case 2: putchar('X'); case 3: case 4: putchar('Y'); break; default: putchar('Z'); A. 显示:z B. 显示:xy C. 显示:x D. 显示:y 3.设a,b为整型变量, 且二者均不为0, 以下关系表达式中恒成立的是___ C ___。[知识点:运算与数据类型] A. a/b*b/a==1 B. a/b*b==a C. a*b/a==b D. a*b/ a*b ==1 4.设有定义:int x=10,y=20,z=30; 则执行下列语句后的结果是___B____。[知识点:if语句] if ( x>y ) z=x; x=y; y=z; printf("%d,%d,%d",x, y, z ); A. 20,30,20 B. 20,30,30 C. 20,30,10 D. 10,20,30 5.下列程序的输出结果是__ B ____。[知识点:整型常量的表示和自增运算] main() { int a = 011; printf( "%d\n", ++a ); } A. 9

大一c语言期末考试题

大一c语言期末考试题 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;

郑大远程教育《C语言程序设计》第17章在线测试

《C语言程序设计》第17章在线测试 剩余时间: 59:54 答题须知:1、本卷满分20分。 2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。 3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。 第一题、单项选择题(每题1分,5道题共5分) 1、若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中0 ≤ i ≤ 9, 则对a数组元素不正确的引用是:D A、a[p-a] B、*(&a[i]) C、p[i] D、a[10] 2、已知int a[]={1,2,3,4,5,6,7,8,9},*p =a; 则值为3的表达式是(A) A、p+=2,*(p++) B、p+=2,*++p C、p+=3,*p++ D、p+=2,++*p 3、若有int f(int a,int b);,则说明函数f( B)。 A、是一个内部函数 B、能被同一源程序其他文件中的函数调用 C、是一个外部函数 D、只能在本文件中使用

4、声明一个函数为外部函数,应该在声明函数的函数类型的前面加( C)。 A、auto B、static C、extern D、register 5、在主函数中定义的变量(A )。 A、只在主函数中有效 B、可以在整个文件中有效 C、可以在所有函数中有效 D、可以在被调用的函数中有效 第二题、多项选择题(每题2分,5道题共10分) 1、以下叙述中,正确的叙述是:ABC A、预处理命令须以#开始 B、在程序中凡以#开始的语句都是预处理命令 C、预处理行不是c的可编译语句 D、C程序在执行过程中对预处理命令进行处理 2、下列描述中,错误的描述是:BCD A、凡是C源程序中行首以#标示的控制行都是预处理指令 B、预处理是指完成宏替换和文件包含指定的文件调用 C、预处理指令只能位于程序首部 D、预处理就是完成c编译程序对C源程序第一遍扫描,为编译的词法分析和语法分析做准备

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