当前位置:文档之家› 大连理工大学2013年c语言题库(共12套)

大连理工大学2013年c语言题库(共12套)

大连理工大学2013年c语言题库(共12套)
大连理工大学2013年c语言题库(共12套)

【第三套】

一、单项选择

1.以下程序段char *alp[]={"ABC","DEF","GHI"};

int j; puts(alp[1]);

的输出结果是()。

A、D

B、A

C、B

D、DEF

2.下列表达式中,可作为C合法表达式的是()。

A、3.0%2

B、3=2=1=0

C、[3,2,1,0]

D、(3,2,1,0)

3.下面程序的正确输出结果是( ).(规定用U表示空格) main()

{

float x=5.783,y= -10.2345;

printf ("x=%-8.2f ,y=%-8.2f \n", x,y);

}

A、x=5.78UUUU,y=-10.23UU

B、x=5.78,y=-10.23

C、5.78,-10.23

D、x=UUUU5.78,y=UU-10.23

4.当x为偶数或奇数时(0除外),其值都为0的表达式是:( )

A、(x/2*2-x)==0

B、x%2==0

C、!x!=0

D、!(x%2)

5.下列运算符优先级最低的是( ).

A、=

B、+

C、!

D、&&

6.设有如下程序段:

int k=10;

while(k==0)

k--;

则下述说明中正确的是( ).

A、循环体一次也不执行

B、循环体执行一次

C、死循环

D、循环体执行10次

7.从循环体内某一层跳出,继续执行循环外的语句是( )。

A、continue语句

B、空语句

C、break语句

D、return语句

8.以下对一维整型数组a的正确说明是()。

A、int a(10);

B、int n; scanf("%d",&n); int a[n];

C、int n=10,a[n];

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

9.以下定义语句中,错误的是()。

A、int n=5,a[n];

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

C、char s[10]="test";

D、char *a[3];

10.下面叙述中不正确的是( ).

A、可以对字符型数组进行整体输入和输出.

B、不可以对浮点型数组进行整体输入和输出.

C、可以对整型数组进行整体输入和输出.

D、字符型数组可以存放字符串.

11.函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是( ).

A、实参与形参是双向传递

B、形参可以是表达式

C、形参和实参可以同名

D、实参类型一定要在调用时指定

12.以下错误的描述是:函数调用可以()。

A、出现在执行语句中

B、做为一个函数的实参

C、出现在一个表达式中

D、做为一个函数的形参

13.以下不正确的说法是:C语言规定()。

A、实参可以是常量,变量或表达式

B、实参可以为任何类型

C、形参可以是常量,变量或表达式

D、形参应与其对应的实参类型一致

14.下列形式,不属于编译预处理命令的是( ).

A、#ifdef M

B、#undef M

C、#if (M>1)

D、while (M>1)

15.下面判断正确的是()。

A、char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";

B、char str[10]={"china"};等价于char str[10];str[]={"china"};

C、char *a="china";等价于char *a;*a="china";

D、char *s="china";等价于char *s;s="china";

16.若有以下结构体定义:

struct example

{ int x;

int y;

} v2;

则( )是正确的引用或定义.

A、example.x=10;

B、struct v2;v2.x=10;

C、example v2;v2.x=10;

D、struct example v2={10,3};

17.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数

feof(fp)的值为()。

A、-1

B、1

C、一个非0值

D、0

DDACA ACDAC CDCDD DD

二、判断

1.如果有一个字符串,其中第十个字符为'\n',则此字符串的有效字符为9个2.格式字符%o用来以十六进制形式输出整数

3.已知a=3,b=4,c=5,则逻辑表达式!(a>b) && !c||1的值为1.

4.已知x=2,y=2, 执行分支语句if(x==y) y=1; else y=-1;后,y=-1. 5.continue语句对于while和do-while循环来说,意味着转去计算While表达式. 6.在do-while循环中,根据情况可以省略while.

7.对于字符数为n个的字符串,其占用的内存为n+1个字节空间.

8.puts 函数用来输出一个字符.

9.引用数组元素时,下标可以是整型表达式或整型常量.

10.函数调用结束后,静态局部变量所占用的空间被释放.

11.在一个函数中定义的静态局部变量可以被另一个函数调用.

12.当全局变量与局部变量同名时,在局部变量的作用域范围之内,全局变量起作用. 13.计算机编译系统对宏定义在编译时进行语法检查.

14.若定义int array[5] , *p; 则赋值语句p=array;是正确的.

15.共同体变量所占的内存长度等于最长的成员的长度。

16.C语言中,打开一个文件就意味着产生了一个文件.

错错对错对错对错对错错错错对对错

三、填空

1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____.

2.已知a=-13,b=6, a%b的十进制数值为_____.

3.已知a=12,写出表达式0

4.已知i=5, 写出语句a=(i>5)?0:1; 执行后整型变量a 的值是_____.

5.C语言中,数组名是一个不可变的_____常量,不能对它进行加减和赋值运算. 6.C语言中一个函数由函数首部和_____两部分组成.

7.设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是_____。union stud { short int num; char name[10]; float score[5]; double ave; } c;

8.在C语言中,关闭文件即是文件指针不再指向该_____.

0 -1 0 1 指针或地址函数体20 文件

四、程序设计

1./*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:计算并输出给定整数n的所有因子之和(不包括1与

自身)。

注意:n的值不大于1000。

例如:n的值为855时,应输出704。

------------------------------------------------*/

#include "stdio.h"

int fun(int n)

{

/*********Begin**********/

/********** End **********/

}

void TestFunc()

{

FILE *IN,*OUT;

int iIN,iOUT,i;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Please Verify The Currernt Dir..It May Be Changed"); }

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Please Verify The Current Dir.. It May Be Changed"); }

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

{

fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

main()

{

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

TestFunc();

}

【参考代码】

int s=0,i;

for(i=2;i

if(n%i==0)s=s+i;

return s;

===============

2./*------------------------------------------------------

【程序设计】

--------------------------------------------------------

功能:删去一维数组中所有重复的数,只保留不同的数。

数组中的数已按由小到大的顺序排列,

函数返回删除后数组中数据的个数。

例如:一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。

注意:请勿改动主函数main和其它函数中的任何内容。

------------------------------------------------------*/

#include "stdio.h"

#define N 80

int fun(int a[],int n)

{

/*********Begin**********/

/********** End **********/

}

main()

{

void TestFunc();

int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;

printf("The original data:\n");

for(i=0;i

n=fun(a,n);

printf("\n\nThe data after deleted:\n");

for(i=0;i

printf("\n\n");

TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

int a[N];

int n;

int i;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read File Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write File Error");

}

fscanf(IN,"%d",&n);

for(i=0;i

n=fun(a,n);

for(i=0;i

fclose(IN);

fclose(OUT);

}

【参考代码】

int i,j=1,k=a[0];

for(i=1;i

if(k!=a[i])

{

a[j++]=a[i];

k=a[i];

}

a[j]=0;

return j;

===============

五、程序改错

1./*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

函数fun的功能是:求1到20的阶乘的和。--------------------------------------*/

#include "stdio.h"

main ()

{

int n,j;

float s=0.0,t=1.0;

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

{

/**********ERROR**********/

s=1;

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

/**********ERROR**********/

t=t*n;

/**********ERROR**********/

s+t=s;

}

printf("jiecheng=%f\n",s);

}

【改错1】

【学生答案】

s=1;

【参考答案】

t=1;

t=1.0;

============================================================

【改错2】

【学生答案】

t=t*n;

【参考答案】

t= t * j ;

t*=j;

t=j*t;

============================================================

【改错3】

【学生答案】

s+t=s;

【参考答案】

s= s + t ;

s+=t;

s=t+s;

============================================================

2./*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:实现两个字符串的连接。

例如:输入dfdfqe和12345时,则输出dfdfqe12345.

------------------------------------------------------*/

#include"stdio.h"

main()

{

char s1[80],s2[80];

void scat(char s1[],char s2[]);

gets(s1);

gets(s2);

scat(s1,s2);

puts(s1);

}

void scat (char s1[],char s2[])

{

int i=0,j=0;

/**********ERROR**********/

while(s1[i]= ='\0') i++;

/**********ERROR**********/

while(s2[j]= ='\0')

{

/**********ERROR**********/

s2[j]=s1[i];

i++;

j++;

}

/**********ERROR**********/

s2[j]='\0';

}

【改错1】

【学生答案】

while(s1[i]= ='\0') i++;

【参考答案】

while(s1[i]!='\0')i++;

while(s1[i])i++;

while(s1[i]!=NULL)i++;

while(s1[i]!=0)i++;

============================================================

【改错2】

【学生答案】

while(s2[j]= ='\0')

【参考答案】

while(s2[j]!='\0')

while(s2[j])

while(s2[j]!=NULL)

while(s2[j]!=0)

============================================================

【改错3】

【学生答案】

s2[j]=s1[i];

【参考答案】

s1[i]=s2[j];

============================================================

【改错4】

【学生答案】

s2[j]='\0';

【参考答案】

s1[i]='\0';

s1[i]=NULL;

*(s1+i)='\0';

s1[i]=0;

============================================================

六、程序填空

1./*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:打印以下图形。

*****

*****

*****

*****

*****

-------------------------------------------------------*/

#include "stdio.h"

main ( )

{

char a[5][9]={" "};

int i,j;

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

/***********FILL***********/

for(j=i; _____;j++)

a[i][j]='*';

/***********FILL***********/

for(_____;i<5;i++)

{

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

/***********FILL***********/

printf("%c", _____ );

/***********FILL***********/

_____;

}

}

【空1】

【学生答案】

for(j=i; _____;j++)

【参考答案】

j

i+5>j

j<=i+4

i+4>j

j<5+i

============================================================

【空2】

【学生答案】

for(_____;i<5;i++)

【参考答案】

i=0

============================================================

【空3】

【学生答案】

printf("%c", _____ );

【参考答案】

a[i][j]

============================================================

【空4】

【学生答案】

_____;

【参考答案】

printf("\n")

============================================================

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:计算n门课程的平均分。

例如:若有5门课程的成绩是:90.5, 72, 80, 61.5, 55

则函数的值为:71.80。

-------------------------------------------------------*/

#include

float fun(float *a,int n)

{

int i;

float ave=0.0;

/***********FILL***********/

for(i=0;________;i++)

ave=ave+a[i];

ave=ave/n;

/***********FILL***********/

_________;

}

int main()

{

float score[30]={90.5,72,80,61.5,55},aver;

/***********FILL***********/

aver=fun(_______,5);

printf( "\nAverage score is: %5.2f\n",aver);

return 0;

}

【空1】

【学生答案】

for(i=0;________;i++)

【参考答案】

i

n>i

============================================================

【空2】

【学生答案】

_________;

【参考答案】

return ave;

============================================================

【空3】

【学生答案】

aver=fun(_______,5);

【参考答案】

score

============================================================

【第四套】

一单选

1 sizeof(float)是()。

A、一个浮点表达式

B、一个不合法的表达式

C、运算结果是一个整型表达式。

D、一种函数调用

2 下列数据中属于"字符串常量"的是( )。

A、'A'

B、"ABC"

C、ABC

D、'ABC'

3 用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法( ). (用"[CR]"表示回车,U表示空格)

main()

{int i,k;

scanf("i=%d,k=%d",&i,&k);

}

A、i=10[CR]k=15[CR]

B、i=10,k=15[CR]

C、10U15[CR]

D、10,15[CR]

4 逻辑表达式3<2||-1&&4>3-!0的值为:( )

A、1

B、3

C、0

D、2

5 下列运算符中是C语言关系运算符的是()。

A、&

B、~

C、!=

D、!

6 语句while(!E);中的表达式!E等价于()。

A、E==1

B、E!=0

C、E!=1

D、E==0

7 以下正确的描述是( ).

A、只能在循环体内和switch语句内使用break语句

B、continue语句的作用是终止整个循环的执行

C、从多层嵌套的外层循环中退出时,只能使用goto语句

D、在循环体内使用break和continue语句的作用相同

8 下面各语句中,能正确进行赋字符串操作的语句是( ).

A、char s1[5][ ]={"ABCDE"};

B、char s2[6]={'A','B','C','D','E'};

C、char st[ ][ ]={"ABCDE"};

D、char s[5]={'A','B','C','D','E'};

9 若有说明: int a[3][4]={0};则下面正确的叙述是()。

A、数组a中每个元素均可得到初值0

B、只有元素a[0][0]可得到初值0

C、数组a中各元素都可得到初值,但其值不一定为0

D、此说明语句不正确

10 若有说明int a[3][4];则a数组元素的非法引用是()。

A、a[1][3]

B、a[0][4]

C、a[0][2*1]

D、a[4-2][0]

11 执行下面程序后,输出结果是()。

main()

{ int a,b,c;

a=45,b=27,c=0;

c=max(a,b);

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

}

int max(int x,int y)

{ int z;

if(x>y) z=x;

else z=y;

return(z);

}

A、72

B、18

C、27

D、45

12 以下正确的描述是:在C语言程序中()。

A、函数的定义可以嵌套,但函数的调用不可以嵌套

B、函数的定义不可以嵌套,但函数的调用可以嵌套

C、函数的定义和函数的调用均可以嵌套

D、函数的定义和函数的调用均不可以嵌套

13 在C语言的函数中,下列正确的说法是()。

A、形参可以是常量和变量

B、可以有也可以没有形参

C、数组名不能作形参

D、必须有形参

14 设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为( ).

A、6.28

B、12.56

C、3.14

D、9.42

15 int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。

A、4

B、2

C、不一定

D、3

16 若有以下程序段,则使用错误的选项是( ).

struct student

{

int num;

int age;

};

struct student stu[3] ={{1001,20},{1002,19},{1004,20}};

main();

{

struct student *p;

p=stu;

;

}

A、(*p).num

B、(p++)->num

C、p=&stu.age

D、p++

CBBAC DABAB DBBBD C

二判断

1 #define 和printf 都不是C语句。

2 格式字符%x用来以十六进制形式输出整数.

3 语句if(a>b) printf("%d",a); else printf("%d",b);可以用条件表达式a>b?a:b取代.

4 逻辑表达式-5&&!8的值为1.

5 循环结构中的continue语句是使整个循环终止执行

6 for循环语句不能用于循环次数未知的情况下.

7 引用数组元素时,数组元素下标必须是整型常量.

8 数组的首地址一定是第一个数组元素的地址.

9 数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素.

10 数组名作为函数调用时的实参,实际上传递给形参的是数组全部元素的值.

11 在主函数中,必须要对被调用函数进行类型说明,否则在编译时会出现错误.

12 在一个函数中定义的静态局部变量不能被另外一个函数所调用.

13 计算机编译系统对宏定义在编译时进行语法检查.

14 指向某一变量的指针,就是该变量的内存地址.

15 对于不同类型的数据,若想合成一个有机的整体,可以引用结构体进行定义。

16 在打开文件时,必须说明文件的使用方式,"r"表示以只读方式打开一个文件.

对对错错错错错对对错错对错对对对

三填空

1 int x=2;z=x++-1; 则x的值为_____.

2 设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为_____.

3 设x=62,表达式x>=60&&x<70||x==1的值为_____.

4 c语言表达式5>2>7>8的值是_____.

5 字符串比较的库函数是_____,只写函数名即可.

6 从函数的形式上看,函数分为无参函数和_____两种类型.

7 设有以下共用体类型说明和变量定义,在TC编译环境下,变量a在内存所占字节数是_____。

union stud { char num[6]; float s[4]; double ave; } a,*p;

8 在C语言中,根据要处理的文件存储的编码形式,可以把文件分为ASCII文件和_____文件.

3 2.5 1 0 strcmp 有参函数16 二进制

四程序设计

1 /*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:用函数求N个[10,60]上的整数中能被5整除的最大

的数,如存在则返回这个最大值,如果不存在则

返回0。

------------------------------------------------*/ #include "stdio.h"

#include "stdlib.h"

#define N 30

int find(int arr[],int n)

{

int m=0;

/*********Begin**********/

/********** End **********/ return(m);

}

main()

{

int a[N],i,k;

void TestFunc();

for(i=0;i

a[i]=rand()%50+10;

for(i=0;i

{

printf("%5d",a[i]);

if((i+1)%5==0) printf("\n");

}

k=find(a,N);

if(k==0)

printf("NO FOUND\n");

else

printf("the max is:%d\n",k); TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

int n;

int i[5];

int o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read File Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write File Error");

}

for(n=0;n<5;n++)

{

fscanf(IN,"%d",&i[n]);

}

o=find(i,5);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

}

【参考代码】

int i;

for(i=0;i

if(arr[i]%5==0 && arr[i]>m)

m=arr[i];

===============

2 /*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:根据整型参数n,计算如图公式的值。------------------------------------------------*/

#include "stdio.h"

#include "conio.h"

double fun(int n)

/*********Begin**********/

/********** End **********/

}

main()

{

int m;

void TestFunc();

printf("Enter m: ");

scanf("%d", &m);

printf("\nThe result is %f\n", fun(m)); TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

int s ;

int t;

double o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read File Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write File Error");

}

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

{

fscanf(IN,"%d",&t);

o=fun(t);

fprintf(OUT,"%f\n",o);

精选C语言试卷(带答案).

2006-2007学年第二学期考试试卷A卷 考试科目C语言程序设计考试方式闭卷完成时限2小时 拟题人审核人批准人2007年7 月 5 日机械、电气、信息、生化、轻工、经管、理学院2006年级各理工科专业 说明: 1.应将全部答案写在答卷纸对应的题号处;否则作无效处理; 2.编程题应写明题号,若答卷纸不够,请写在背面,不要另添卷纸; 3.考试完成后,必须将试卷与答卷同时交回。 一、判断题(10小题,每题1分,共10分;用√表示正确,用×表示错误)1.在循环体内使用break语句和continue语句的作用相同。 2.函数返回值的类型最终取决于函数定义时形参的类型。 3.else语句一定要与if语句配对使用,程序中else语句的个数一定小于或者等于if语句的个数。 4.从狭义角度讲,算法是解决一个问题采取的方法和步骤的描述。 5.1/2的结果是0,所以1.0/2的结果也是0。 6.a=b=c=5可以理解为a=(b=(c=5))。 7.假设有语句int a[10]={1,2,3},*p;p=a;则p++完全等价于a++。 8.for(;;)等价于while(1)语句。 9.假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6。 10.char *sp ={"welcome"};可以写成char *sp="welcome"; 。 二、单选题(16小题,每题1分,共16分) 1.以下数组定义中错误的是: (A) int x[][3] ={0}; (B) int x[2][3]={{1,2},{3,4},{5,6}};

(C) int x[][3]={{1,2,3},{4,5,6}}; (D) int x[2][3]={1,2,3,4,5,6}; 2.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为: (A)EOF (B)NULL (C) 0 (D)非0值 3.有以下程序: main() {int y=10; while(y--) ; printf(“y=%d\n”,y); } 程序执行后的输出结果是: (A) y=0; (B)y=-1; (C) y=1 (D)while构成无限循环 4. 若有以下宏定义: #define N 2 #define Y(n) (N+1)*n 则执行语句int z; z=2*N+Y(5);后的值是 (A) 50 (B)34 (C)19 (D)无定值 5.以下叙述中错误的是: (A)c程序必须由一个或者一个以上的函数组成。 (B)函数调用可以作为一个独立的语句存在。 (C)若函数有返回值,必须通过return 语句返回。 (D)函数形参的值也可以传回给对应的实参。 6.设有如下定义的变量 union data { int i; char ch; float f; }b; 则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占4个字节): (A) 4 (B)5 (C) 6 (D)7 7.以下叙述中错误的是:

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-1、调用fopen函数打开一文本文件,在“打开模式”这一项中,为输出(写)而打开需填入【1】. 1-2、调用fopen函数打开一文本文件,在“打开模式”这一项中,为追加而打开需填入【1】. 1-3、fopen函数的原形在头文件【1】中. 1-4、getchar函数的原形在头文件【1】中. 1-5、sqrt函数的原形在头文件【1】中. 1-6、如果函数不要求带回值,可用【1】来定义函数返回值为空. 答案:w或w+;a或a+;stdio.h ; stdio.h ; math.h ;void . 2-1、字符串“\1011234\\at”的长度(字符数)是【1】. 2-2、字符串“abc\103\\bcd”的长度(字符数)是【1】. 2-3、字符串“1\\t\x43\abx44”的长度(字符数)是【1】. 2-4、“a“在内存中占【1】个字节. 2-5、‘a’在内存中占【1】个字节. 2-6、“\71“在内存中占【1】个字节. 2-7、一维数组下标的最小值是【1】;数组char a[]=“china” ;在内存应占【1】个字节。 答案:8; 8; 9; 2;1;2 ;0;6. 3-1、设x=(5>1)+2, x的植为【1】. 3-2、表达式‘B’+15+‘\x41’+011+0x10的值是【1】. 3-3、表达式‘b’+5+‘\x42’+011+0x10的值是【1】. 答案:3;171;194; 4-1、假设所有变量都为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是【1】. 4-2、if(!a)中的表达式!a等价于【1】. 4_3、已知a=1,b=2,c=3,执行if(a>b>c) b=a;else b=c;a=4;b=8;后,b的值是【1】. 答案:8;a==0;8; 5-1、若所用变量都已定义,下列程序段的执行结果是【1】. for(i=1;i<=5;i++);printf(“OK\n”); 5-2、执行语句char s[3]=”ab”,*p;p=s;后,*(p+2)的值是【1】. 5-3、若有以下定义和语句:int a[4]={0,1,2,3},*p; p=&a[2]; ,则*--p的值是【1】. 5-4、下列程序的输出结果是【1】,main(){int a=011;printf(“%d\n”,++a);} 答案:OK;’\0’;1;10 6-1、若宏定义为:#define y(x) 2+x, 则表达式a=3*y(3)的值为【1】. 6-2、若宏定义为:#define y(x) 2+x, 则表达式a=4*y(2)的值为【1】. 6-3、若宏定义为:#define y(x) 2/x, 则表达式a=4+3*y(3)的值为【1】. 答案:9;10;6 . 二、单项选择题 1-1、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是()。 A:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C:文件打开时,原有文件内容被删除,只可作写操作 D:以上各种说法皆不正确 1-2、若执行fopen函数时发生错误,则函数的返回值是()。

湖南大学C语言程序设计试卷

第 1 页(共 6 页)

三、写出程序运行结果(每题 5 分,共20分) 1.main() { int a=15,b=21,m=0; switch(a%3) { case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf(“%d\n”,m); } 程序运行后的输出结果是: 2.float fun(int x, int y) {return (x+y);} main() { int a=2,b=5,c=8; printf("%3.0f\n",fun((int)fun(a+c,b),a-c));} 程序运行后的输出结果是: 3.void fun(char *c,int d) { *c=*c+1;d=d+1; printf("%c,%c,",*c,d); } main() { char a='A',b='a'; fun(&b,a); printf("%c,%c\n",a,b); } 程序运行后的输出结果是: 4.struct stu { char num[10]; float score[3]; }; main() { struct stu s[3]={{"20021",90,95,85}, {"20022",95,80,75}, {"20023",100,95,90}},*p=s; int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf("%6.2f\n",sum); } 程序运行后的输出结果是: 第 2 页(共 6 页)

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项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 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

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 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D)。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

2013年春C语言试题

湖北科技学院2013学年春季学期2012级 《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷) 一.选择题:(每小题1分,共40分) 1.C语言规定,必须用( )作为主函数名。 A) Function B) include C) main D) stdio 2.下列说法正确的是( )。 A) 在执行C程序时不是从main 函数开始的 B) C程序书写格式严格限制,一行内必须写一个语句 C) C程序书写格式自由,一个语句可以分写在多行上 D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号 3.下列字符串是用户标识符的是( )。 A) _HJ B) 9_student C) long D) float 4.下列数据中是合法的整型常量的是( )。 A) 3E2 B) 029 C) -32768 D) 6e+007 5.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为( )。 A) 9,6 B) 12,5 C) 18,6 D) 15,5 6.10+?a?+1.5-567.345/?b?的结果是( )型数据。 A) long B) double C) int D) unsigned float 7.在C 语言中,下列类型属于构造类型的是( )。 A) 整型B) 指针类型C) 实型D) 结构体类型 8.在C语言中,退格符是( )。 A) \n B) \t C) \v D) \b 9.下列符号中,可以作为变量名的是( )。 A) +c B) *X C) _DAY D) next-day 10.以下程序的输出结果是( )。 void main() { unsigned char a=2,b=4,c=5,d; d=a|b; d&=c; printf("%d\n",d); } A) 3 B) 4 C) 5 D) 6 11.若已知a=5,b=10,则表达式a==b的值为( )。 A) 10 B) 20 C) 1 D) 0 12.已有定义” int a=-2; ”和输出语句” printf( “%8x”, a );“,以下正确的叙述是( )。 A) 整型变量的输出形式只有%d一种 B) %x是格式控制符的一种,它可以适用于任何一种类型的数据 C) %x是格式控制符的一种,其变量的值按十六进制输出,但%8x是错误的 D) %8x不是错误的格式控制符,其中数字8规定了输出数据的宽度 13. 在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个( )。 A) 函数B) 文件C) 变量D) 子程序 14.语句 int x=10, y=20, z=30; if (x>y) z=x; x=y; y=z; 执行后x、y、z的值是( )。 A) x=10,y=20,z=30 B) x=20,y=30,z=30

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 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) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

C语言试题与答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (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 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系

(完整版)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、机器语言:机器语言及其指令是计算机能够直接识别的执行的一组二进制代码。一条机器指令通常由操作码和操作数两部分构成。 2、汇编指令:是机器语言的符号化表示MOV 3、汇编语言:由汇编指令、汇编伪指令及汇编语言的语法规则组成。 4、汇编语言源程序:用汇编语言编写的程序 5、汇编程序:把汇编语言源程序翻译成目标程序的加工程序MASM 6、二、十、十六进制转换(掌握<256)练习1:117=(1110101)B练习2:1000 1011 B=(139)D练习3:1011 1000 0000 0101 B=(B805)H 7、机器数:是指计算机中的数据,可以分为无符号数和有符号数字长为N位时无符号数表示范围0≤N≤2N-1 当N=8时0≤N≤255 8、原码(8位):最高位为符号位(正数用0表示,负数用1表示),其他位为数值位 如X=+45=+0010 1101B [X]原=0010 1101B 如X=-45=-0010 1101B [X]原=1010 1101B 9、补码(8位):正数的补码与原码相同,负数的补码是将符号位取1,数值位逐位取反,未位加1。如X=+45=+0010 1101B [X]补=0010 1101B 如X=-45=-0010 1101B [X]补=1101 0011B 10、补码运算:是指对一个补码表示的数按位求反后再在末尾加1,可以得到与此数相应的符号相反的数的补码。例、已知[117]补=0111 0101B,[-117]补=1000 1011B,对[117]补作补码运算。解:因为[117]补=0111 0101B,按位求反后得1000 1010B,末尾加1得1000 1011B=[-117]补。[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补 12、BCD码:BCD码用4位二进制数表示1位十进制数。常用8421BCD码例:写出十进制314所对应的BCD码 13、8086/8088CPU:16位微处理器和16位数据总线,20位地址总线(寻址空间为1MB)。8088微处理器内部16位数据,外部8位数据,也称准16位机。8086/8088CPU的组成(功能方面):运算器、控制器、寄存器组 14、寄存器是CPU内部临时存放数据的部件,速度比内存快。(1)数据寄存器4个16位寄存器AX,BX,CX,DX,每个寄存器还可以拆成2个8位寄存器使用。 AX累加器:算术运算寄存器,用于存放操作数或运算结果。I/O指令中通过AX与外部交换数据。在乘除运算中指定存放被乘数与被除数,系统功能调用号。AX累加器可以分为AH、AL分别使用。 BX基址寄存器:可作为通用寄存器使用。在计算内存地址是,常作基址寄存器,作为通用寄存器还可以分为BH、BL分别使用。 CX数据寄存器:可作为通用寄存器使用。在循环和串操作指令中作隐含计数器。作为通用寄存器还可以分为CH、CL分别使用。 DX数据寄存器:可作为通用寄存器使用。在I/O操作中,DX用来存放I/O端品地址。在乘除法运算中与AX组合一起存放双字型数据。作为通用寄存器还可以分为DH、DL 分别使用。 (2)变址寄存器(2 个16位):SI 源变址寄存器.DI 目的变址寄存器 BP基址寄存器:用于存放栈中的操作数的偏移地址。SP堆栈指针寄存器:用来指示栈顶的当前位置(偏移地址)。 IP 指令指针寄存器(程序计数器):用于存放下一条指令所在偏移地址。与CS配合,用来确定程序中下一条指令的物理地址。 15、PSW程序状态字寄存器(标志寄存器):8088微处理器使用16位中的9位设置了9个标志。标志位SF、OF、CF、ZF的含义0010 1001B+1110 1000B=1 0001 0001B CF=1 OF=0 SF=0 ZF=0 16、段地址寄存器:段表示一块内存空间(大小可变),最大为64K字节,最小为16字

c语言试卷及其答案

读书破万卷下笔如有神

1

…………试卷装 订线 ……………… 装订线内不要答题,不要填写考生信息……………… 试卷装 订线printf(?%d, %c \n?, c2-c1, c2-(?a?-?A?)); … 院 3 e.D 2, E .C 3, E .B 2, M .A…学……下笔如有神读书破万卷

读书破万卷下笔如有神在函数调用中,若形参和实参都是简单变量,下面说法正确的是__16.实参和形参共用一个内存单

.实参和形参各占用一个独立的内存单 .由用户确定是否共用内存单 .由系统确定是否共用内存单 判断字符str是否大于字符str,应当使用__17if(str1>str2if(strcmp(str1,str2)) if(strcmp(str2,str1)>0)if(strcmp(str1,str2)>0) 以下正确的函数说明是__18float fun(int a; int bdouble fun( int fun(int a, bint fun(char a[][] 以下程序的运行结果是_19main(){ int a=1, i; for (i=0; i<3; i++) printf(%d, f1(a)); getch(); } f1(int x){ static int y=0,z=3; y++; z++; return(x+y+z); } 468 681 6766以下程序的运行结果是_20main(){ int x=6,y=5; if(x>y) x=y,y=x; else x++,y++; printf(%d,%d,x,y); getch(); } 7,6,5,5,A. 下笔如有神读书破万卷

c语言试题及答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 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、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

2013年下C语言程序设计考试试卷

学院:班级:学号:姓名: 答案一律写在答题纸上,写在试题卷上无效 一、选择题(每小题3分,计36分) 1.以下选项中,不属于C语言结构化程序设计三种基本结构的是_______。 A)选择结构B)顺序结构 C)递归结构D)循环结构 2.已知:char a='\70';,则变量a________。 A)包含1个字符B)包含2个字符 C)包含3个字符D)说明非法 3.已知:float x=2,y;,则表达式y=x+3/2的值是________。 A)3.5 B)3.0 C)2.0 D)1.0 4.C语言中,运算对象必须是整型数值的运算符是________。 A)% B)/ C)< D) ! 5.以下选项中,能正确表示逻辑关系:“a≥10 或a≤0”的C语言表达式是______。 A﹚a>=0||a<=10 B﹚a≥10||a≤0 C﹚a>=10 && a<=0 D﹚a>=10||a<=0 6.已知:int a=5;,执行语句a=3*5,a*4,a+5;后,变量a的值是_________。 A)45 B)20 C)15 D)10 7.当说明一个结构体变量时系统分配给它的内存是( ) A)各成员所需内存量的总和B)结构中第一个成员所需内存量 C)成员中占内存量最大者所需的容量D)结构中最后一个成员所需内存量 8.已知:float x;int y;,用语句scanf("%f,%d",&x,&y);输入变量x,y的值,正确的输入是_________。 A)1.25,2 B)1.25 2 C)1.25:2 D)1.25;2 9.已知:int x=0,y=10;while(x

c语言试卷及答案1

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺 序、选择和嵌套。 (17) 在C语言程序中,在函数内部定 义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相 同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右 结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语 言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8; 数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ", "A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达 (27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变 量可以存放-123.4。 A、long a; B、 unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100], pp是一个(29) 。 A、函数 B、数组元素 C、指针变 量D、数组 (30) 下列程序段的输出结果是 (30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)

C语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

2013-C语言期末考试试卷-A

北京师范大学2012~2013学年第2 学期期末考试试卷(A卷) 课程名称:程序设计语言(C语言)任课教师姓名:于福生刘玉铭卷面总分:100 分考试时长:100 分钟考试类别:闭卷院(系):专业:年级: 姓名:学号: 阅卷教师(签字): 一、单项选择题(20×2=40分) 1.以下符合C语言语法的实型常量是【】 A) 1.2E0.5 B) 3.14159E C) .5E-3 D) E15 2.若变量已正确定义,要将a 和b中的数进行交换,不正确的语句组是【】 A)a=a+b,b=a-b,a=a-b; B)t=a;a=b;b=t; C)a=t; t=b; b=a; D)t=b;b=a;a=t; 3.若有以下定义: int a[] = { 1,2,3,4,5,6,7 }; char c1 = …b?, c2 = …2?; 则值不为2的表达式是【】 A)a[1] B)?d?-c1

C)a[…3?-c2] D)c2-0 4.与表达式i+1+1值相等的是【】 A) (i++)+1 B) ++i+1 C) (i++)++ D) i+1++ 5.已知char str1, str2[10]; 正确的输入语句是【】 A) scanf (“%c%s”, &str1,str2) ; B) scanf ("%s%s", &str1,str2) ; C) scanf (“%c%c”, &str1,str2) ; D) scanf ("%s%c", &str1,str2) ; 6.若希望当A的值为奇数时,表达式的值为"真";A的值为偶数时,表达式的值为"假 "。不能满足要求的表达式是【】 A) A%2==1 B) !(A%2= = 0) C) !(A%2)D) A%2 7.以下main函数说明形式正确的是【D 】 A) int main (int a, char *s) B) void main (int a, char s[ ][ ]) C) void main (int a, char s) D) int main (int a, char *s[ ]) 8.要定义只可在所在源文件中使用的全局变量,则该变量的类别是【】 A) auto B) extern C) static D) register 9.若有定义int a[5], *p=a,则对a数组元素的正确引用是:【】 A) *&a[5] B) a+2 C) *(p+5) D) *(a+2) 10.设int x=1,y=3;执行后x的值不等于6的赋值语句是【】 A) x=(x=1+2,x*2); B) x=y>2?6:5; C) x=9-(--y) -(--y); D) x=y*4.6/2; 11.设有定义int a[10],则p+5表示【】 A)a[5]的地址B)a[6]的地址 C)a[5]的值D)a[6]的值 12.用fopen打开一个新的可以读写的二进制文件,则文件的方式字符串为【】 A) “ab+”B) “wb+” C) “rb+”D) “ab” 13.设int b, a; float c;c = (float) a+b; 则(float)的作用是使【】 A) 变量a的类型发生改变 B) 变量a,b的类型发生改变

相关主题
文本预览
相关文档 最新文档