C语言模拟试卷10

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

C语言模拟试卷10

一、基础题(20分,每小题2分)

1.计算表达式的值:(float)15/(int)2.5。

2.已知int m=5, n=7; 则执行m *= n++; 后计算m与n的值。3.分别计算表达式的值:10 & 12、10 ^ 12。

4.写出逻辑表达式:a为偶数且b为奇数。

5.写出算术表达式:实数x小数点后第三位四舍五入。

6.计算字符串"Hello,world"的长度。

7.已知int a[10],*p=a; 计算表达式(&a[8] - &p[2]) 的值。

8.写出printf("%u,%d",-2,65530);的运行结果。

9.写出一个结构体类型定义:结构体名为stuinfo,成员num为整型,成员score为实型。

10.已知有char *ls[]={"first","second","third"};试写出表达式表示字符串second中的字符'o'。

二、阅读程序(32分,每小题4分)

仔细阅读下列程序,写出各程序的运行结果。

(1)程序1

main()

{

int y;

scanf( "%d", &y );

if ( y%4==0 && y%100!=0 || y%400==0 )

printf( "%d is leap year.\n",y );

else

printf( "%d is not leap year.\n",y );

}

输入:2003

输出:?

(2)程序2

main()

{

int a[10]={11,10,12,11,13,12,15,14,17,16};

int i, sum=0;

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

sum += a[i];

for ( i--; i >= 0; i-=2 )

sum -= a[i];

printf( "sum = %d\n", sum );

}

输出:?

(3)程序3

main()

{

int x,y,z,i;

char op;

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

{

scanf( "%d%c%d",&x,&op,&y );

switch( op )

{

case '+': z=x+y;break;

case '-': z=x-y;break;

case '*': z=x*y;break;

case '/': z=x/y;break;

}

printf( "%d%c%d=%d\n",x,op,y,z );

}

}

输入:3*6 6-9

输出:?

(4)程序4

void func(int x)

{

static int last = 0;

printf( "New=%d, Last=%d\n", x, last ); last = x;

}

main()

{

func( 30 );

func( 50 );

func( 10 );

}

输出:?

(5)程序5

void func(int n)

{

printf( "%d ", n );

if ( n > 0 )

func( n-1 );

}

main()

{

func( 5 );

}

输出:?

(6)程序6

struct worker

{

int num;

char name[20];

};

main()

{

struct worker per[10], t;

int n,i,j;

scanf( "%d", &n );

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

scanf( "%d%s", &per[i].num, per[i].name );

for ( i = 0; i < n-1; i++ )

for ( j = 0; j < n-1-i; j++ )

if ( strcmp(per[j].name,per[j+1].name) > 0 )

{

t = per[j];

per[j] = per[j+1];

per[j+1] = t;

}

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

printf( "%d, %s\n", per[i].num, per[i].name ); }

输入:3 101 wang 102 zou 103 chen

输出:?

(7)程序7

#include

main()

{

FILE *fp1, *fp2;

char buff[80];

int n,num,i,j;

fp1 = fopen( "data1.txt", "r" );

fp2 = fopen( "data2.txt", "w" );

if ( fp1==NULL || fp2==NULL )

return ;

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

fprintf( fp2, "%d\n", n );

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

{

fscanf( fp1, "%d%s", &num, buff );

for ( j = 0; buff[j] != '\0'; j++ )

if ( buff[j]>='a' && buff[j]<='z' )

buff[j] = buff[j] - 'a' + 'A';

fprintf( fp2, "%d %s\n", num, buff );

}

fclose( fp1 );

fclose( fp2 );

}

设文件访问总是成功的

已知文件data1.txt中内容为

相关文档
最新文档