C语言程序设计试卷,c语言程序设计 卷子怎么做

C语言程序设计试卷,c语言程序设计 卷子怎么做

计算机科学与技术专业高级语言编程范例

题号

总分

评卷人

得分

一.填补问题

1. C语言的数据类型中,结构类型包括数组和。

2 .在c程序中,可以为指针变量赋值或赋值。

3. C目标程序生成扩展名为exe的可执行文件。

4 .定义语句static char s[5; s[4]的值为。

5 .设x为int型变量。 逻辑表达式和! 与x等价的关系式是。

6 .如果全局变量只允许用于此程序文件中的函数,则变量必须使用的存储类别为。

7 .磁盘文件以文件读写方式分类,可以顺序与文件一起访问。

8 .若设定以下的结构体变量xx的定义,则公式sizeof(xx )的值为_ _ _ _ _ _。

结构

{ long num;

char name[20];

union{float y; 短z; ( yz;

( xx;

二.选题

题号

1

2

3

4

5

6

7

8

9

10

答案

题号

11

12

13

14

15

16

17

18

19

20

答案

1 .设置定义int x=8,y,z; y=z=x,x=y=z; 语句之后,变量x的值为( c )

a、0 B、1 C、8 D和9

2 .这包括以下步骤

main ( ) )

{ int i=1,j=1,k=2;

if(jk ) I ) printf(\’%d,%d,%d(n ),I,j,k ); () ) ) ) )。

执行后的输出结果为( c )

a、1、1、2b、2、2、1c、2、2、2d、2、2、3

3 .已知I、j、k是int型变量。 如果从键盘输入1、2、3回车,使得I的值为1,j的值为2,k的值为3,则在以下选项中正确的输入语句为( c )

a、Scanf(「—-”、I、j、k );

b、scanf (“% d % d % d % d”、I、j、k );

c、scanf(「%d,%d,%d”,I,j,k );

d、scanf(「I=%d,j=%d,k=%d”,I,j,k );

4 .这包括以下步骤

main ( ) )

{ int a=5,b=4,c=3,d=2;

if(ABC ) printf(\’%d\\n \’,d ); ab为真,返回值1

ELSEif((C-1=D )=1) printf ) \’ %D\\n \’,d 1 );

ELSEprintf(\’%d\\n \’,d 2 );

}执行后的输出结果为( b )

A、2 B、3 C、4 D,编译时有错误,没有结果

5 .以下方框( c ) )。

x=1;

do { x=x*x; } while (! x;

a .死循环b,循环执行2次

循环执行一次c、d,存在语法错误

6 .无法正确定义二维数组的以下选择是( c )

a、int a[2][2]={{1},{2}; b、inta [ ] [2]={ 1,2,3,4 };

c、int a[2][2]={{1},2,3 }; d、inta [2] [ ]={ 1,2 }、{ 3,4 };

7 .这包括以下步骤

main ( ) )

{ intaa [4] [4]={ 1,2,3,4 }、{ 5,6,7,8 }、{ 3,9,10,2 }、{ 4,2,9,6 };

int i,s=0;

for(I=0; i4; I ) s=aa[i][1];

printf(「%d\\n”,s );

() ) ) ) )。

执行程序后的输出结果为( b )

a、11 B、19 C、13 D和20

8 .以下程序的输出结果为( b )

main ( ) )

{ char ch[3][5]={\’AAAA \’、\’ BBB \’、\’ CC\’};

printf(((%s ( ) ) n ),ch[1] );

() ) ) ) )。

a、\’ AAAA\’ B、\’ BBB\’ C、\’ BBBCC\’ D、\’ CC \’

9 .这包括以下步骤

#definef(x ) x*x

main ( ) )

{ int i;

I=f(4)/f (2);

printf(“%d\\n \”,I );

执行后的输出结果为( a )4*4)4/2)2)

a、28 B、22 C、16 D和4

10 .决定c语言中函数返回值的类型是。

a、return语句的表达式类型

b、调用此函数的主调函数类型

c、调用函数时临时指定的类型

d,定义函数时在函数开头指定的类型。

11 .系统对预处理指令的处理时机为。

a、编译源程序b,编译源程序前

c、连接对象文件时d、执行程序时

12 .在位运算中,操作数每左移一位,结果如下

a、操作数乘以2

c、操作数除以2

b、操作数除以4

d,操作数乘以4

13 .以下说明中不正确的是。

a、可以在字符类型数组中存储字符串

b .可以进行字符型数组整体的输入输出

C、可以对整个整数数组进行输入、输出

d、无法在赋值语句中用赋值运算符“=”给整个字符类型数组赋值

14 .在有以下定义int a[2][3]的情况下,对a阵列第I行第j列元素的正确参考是( a )

a、* ( ) ( a i ) j ) b、) a i ) [j]

c,*(aIj ) d,*(aIj ) j

15 .这包括以下步骤:

voidfun(char*a,char *b ) ) )。

{ a=b; ( a ); () ) ) ) )。

main ( ) )

{ char c1=\’A \’,c2=\’a \’,*p1,*p2;

p1=c1; p2=c2;

fun(P1,p2);

printf(%c%c(n ),c1,c2 );

() ) ) ) )。

执行程序后的输出结果为( a )

a、Ab

b、aa

c、Aa

d、Bb

16 .定义了以下函数

fun(char*P2,char * p1 ) ) ) ) ) )。

{while ( ) P2=) P1 )!=\’ \\0 \’ ) { p1; p2; }

函数Fun的功能是( a )

a、将p1所指的字符串复制到p2所指的存储器空间

b、向指针p2分配p1所指字符串的地址

比较c、p1和p2这两个指针所指的字符串

检查d、p1和p2两个指针指向的字符串中是否有“\\0”

17 .结构类型包括:

struct st

{ char name[8];

int num;

float s[4];

}student[50];

另外,结构体排列student内的要素已经有值,为了将这些要素写入硬盘文件fp,以下的非法形式为( c )

a、fwrite(student,sizeof ) structST )、50、fp );

b、fwrite(student,50*sizeof ) structST )、1、fp );

c、fwrite(student,25*sizeof ) structST )、25、fp );

d、for(I=0; i50; I )

write(studentI,sizeof ) structST ),1,fp );

18 .如有解释性声明

char a[ ]=\’It is mine \’;

char *p=\’ It is mine \’;

以下不正确的记述是

a、a 1表示字符t地址

b、p指另一个字符串时,字符串的长度没有限制

c、p变量中保存的地址值可以变更

D、a只能存储10个字符

19 .调用函数时,如果实参是数组名,则传递给函数的是( b )

a .排列长度

b、数组的起始地址

c、数组各元素的地址

d、数组中每个元素的值

20 .变量说明设置int a=3、b=6; char c; 当执行赋值语句c=(a^b ) 2时;

C的二进制值为。

a、00011101 B、00000111 C、00000001 D和00010100

c=a^b2 ^ (按位异或)优先顺序为9 )左移)优先顺序为5,所以首先执行左移,然后设异或b=6,将6按位左移的二进制数为0000 0110,左移后的0001100 a=

三.阅读程序,并将执行结果写在每个问题的右边空白处

1.#include stdio.h

main ( ) )

{ char str[]=\’1234567 \’;

int i;

for(I=0; i7; i=3)

printf(%s(n ),str i ); 1 4 7

() ) ) ) )。

2.#include stdio.h

main ( ) )

{ int i;

for(I=0; i3; I )

开关( I ) )。

{case0:printf(\’%d \’,I ); 021

case2:printf(\’%d”,I );

dfault:printf(\’%d \’,I );

() ) ) ) )。

() ) ) ) )。

3.#include stdio.h

main ( ) )

{

int i;

for(I=1; i6; I )

{

if(I%2) {

printf(\’# \’;

连续; } #*#*#*

打印( * );

() ) ) ) )。

打印( ( n );

() ) ) ) )。

4.#include stdio.h

int b=1;

是函数( intp )

{

静态输入d=5;

d=p;

printf(\’%d,\’,d );

return(d;

() ) ) ) )。

main ( ) )

{

int a=3;

printf(%d(n ),func ) afunc ) b ); 6 15 15

() ) ) ) )。

5.#include stdio.h

struct stu

{ int num; char name[10]; int age; (;

voidpy(structstu*p ) )

{printf(%s(n ),) p ).name ); () ) ) ) )。

main ( ) )

{

Struct stu student[3]={{1001,\’ Sun \’,25}、{1002,\’ Ling \’,23}、{1003,\’ Shen \’,22};

py(student2;

} Shen

四.阅读程序或程序段,填空

1 .以下程序的功能是调用fun函数删除字符串中指定的字符。 请填写空栏。

voidfun(chars[],int c ) )。

{ int i,j;

for(I=0,j=0; s[i]!=\’\\0 \’; I )

if(s[I]!=c ( ) {s[i]=s[j]; j; () ) ) ) )。

s[j]=\’\\0 \’;

() ) ) ) )。

main ( ) )

{ char str[]=\’abcdefgAbcd \’,ch;

scanf(\’%c \’,ch );

fun(str,ch );

printf(%s(n ),str );

() ) ) ) )。

2 .下一步是按学生姓名调查排名和平均成绩,输入0可以一直调查到结束。 请填写空栏。

#includestring.h

#define NUM 4

struct student

{ int rank;

char *name;

浮动比例; (;

Struct student stu[]={3,\” Tom \”,89.3,4,\” Mary \”,78.2,1,\” 1,\” Jack \”,95.1,2,\” 2,\” Jim \”,90.6};

main ( ) )

{ char str[10]; int i;

do

{printf(\’enteraname:\’ );

scanf(\’%s”,str );

for(I=0; iNUM; I )

if(str==stu[I].name )

{printf(\’%s,%d,%f\\n \’,stu[i].name,stu[i].rank,stu[i].score ); 黑; () ) ) ) )。

if(I=num ) printf(\’notfound\\n \’ );

}while(strcmp(str,“0”)!=0;

() ) ) ) )。

3 .以下过程使用“按顺序搜索”方法在数组中搜索元素。 请填写空栏。

main ( ) )

{ inta [8]={ 25,57,48,37,12,92,86,33 };

int i,x;

scanf(\’%d \’,x );

for(I=0; i8; I )

if(a(I )==x ) ) )

{printf(found! The index is :%d\\n \’,I; 黑; () ) ) ) )。

if(I==x ) )。

printf (“can’t found! ();

() ) ) ) )。

4 .以下程序从键盘输入几个字符,一个接一个发送到磁盘文件: \”! 在输入“”之前,请填写空栏。

#includestdio.h

main ( ) )

{ FILE *fp;

char ch,fname[10];

打印( inputnameoffile:\\ n ); gets(fname;

if ( ) FP=fopen(fname,\’ w \’ ) ) (==NULL ) ) )。

{printf(cannotopen(n ); 退出( 0; () ) ) ) )。

打印( enter data ( n ) );

威尔( ch!=! ’) fputc(ch,fp );

flose(FP );

5 .以下函数fun的功能是,使字符串s中下标为奇数的字符立即重复出现,并放在新字符串t中。 例如,如果s中的字符串是\’ ABCDEF \’,则t中的字符串必须是\’ BBDDFF \’。

#includestring.h

voidfun(char*s,char *t ) ) )。

{ int i,j;

for(I=0; I=Strlen(s; I )

{if(I%2==1) )

{

j=i-1;

t[j]=s[i];

t[ j]=s[i]; () ) ) ) )。

() ) ) ) )。

() ) ) ) )。

main ( ) )

{ char s[100],t[100];

scanf(\’%s \’,s );

fun(s,t );

printf(theresultis:%s\\n ),t );

() ) ) ) )。

五.程序设计问题

1 .编写按相反顺序存储输入字符串的程序。 在主函数中输入字符串并输出相反顺序的字符串,要求用被调用的函数完成相反顺序的存储。 例如,输入字符串\” abcdefg \”,然后输出\” gfedcba \”。

#includestdio.h

#includestring.h

voidchan(charx[] ) ) ) )。

{

int i,len=Strlen(x;

char a;

for(I=0; ilen/2; I )

{

a=x[i];

x[i]=x[len-i-1];

x[len-i-1]=a;

() ) ) ) )。

() ) ) ) )。

int main ( ) )

{

char f[100];

scanf(\’%s \’,f );

Chan(f );

printf(%s(n ),f );

返回0;

() ) ) ) )。

2 .某班有五名学生,分别学习四门课,找出一门以上课程不及格的学生,打印其所有课程的成绩。

#includestdio.h

main ( ) )

{

int i,j,flag=0;

int score [5] [4]={ 56,69,56,89 }、{ 89,88,79,85,96,78 }、{ 66,65,52,66 }、{88}

for(I=0; i5; I )

{

for(j=0; j4; j )

{

if(score[I][j]60 ) flag=1;

if(flag==1) )。

{

printf((n ) D位的同学取得了不合格的成绩) n )、i 1 );

for(j=0; j4; j )

printf(\’%d \’,score[i][j] );

() ) ) ) )。

flag=0;

() ) ) ) )。

() ) ) ) )。

返回0;

() ) ) ) )。

相关推荐

自考企业经营战略概论2019年10月真题,00151企业经营战略自考真题

八道会公众号单元综合测试本单元测试涵盖考试大纲第一章至第五章的内容一、单项选择题(本...