文档介绍:程序设计基础模拟练****br/>(考试时间:150分钟)
.
一、简答题(10题,20分)
⒈ 写出下列语句的C语言表达式,计算一元二次方程ax2+bx+c=0的一个根。
⒉ 执行下列语句后,i, j, k的值是多少?
for (i=k=0, j=6; i<j; i++, j--) k+=4*i-5*j;
⒊ 写出下列语句的C语言逻辑表达式:a为偶数且b为奇数。
⒋ 写出下列语句的C语言算术表达式:实数x小数点后第三位四舍五入。
⒌ 写出一个结构体类型定义:结构体名为stuinfo,成员分量num为整型,成员分量score为实型。
⒍ 写出printf("%u,%d", -2, 65530);的运行结果。
⒎ 写出下列语句的C语言表达式:若x大于等于0结果为x+1,否则结果为x-1。
⒏ 已知有程序段如下(x为整型):
x = 0;
if ( a ) x = 1;
else if ( b ) ;
else x = 1;
则上述程序段与以下哪句赋值语句等价:
x=a&&b;或x=a||b;或x=a||!b;或x=a&&!b;或x=(a!=0);
⒐ 已知有职工结构体数组
struct { int num; char name[20]; } per[100];
使用scanf函数写出:输入下标为i的职工的num和name的语句。
⒑ 写出结束当前循环或switch语句的C语言语句;写出结束当前函数并返回的C语言语句。
二、填空题(4题、24分)
⒈ 以下函数(fsadd)计算两个分数相加,结构体fs描述一个分数,其成员fenzi与fenmu分别表示分数的分子与分母。试填空以完成fsadd函数。
struct fs /*分数*/
{
int fenzi; /*分子*/
int fenmu; /*分母*/
};
void fsadd( (1) , struct fs *a, struct fs *b )
{
r->fenzi = a->fenzi*b->fenmu + (2) ;
r->fenmu = a->fenmu*b->fenmu;
}
⒉ 以下函数计算year年month月1日到year年1月1日之间的天数,如countdays(2000,1)为0、countdays(2000,2)为31。
int countdays( int year, int month )
{
int days = 0;
switch( (1) )
{
case 11: days += 30;
case 10: days += 31;
case 9: days += 30;
case 8: days += 31;
case 7: days += 31;
case 6: days += 30;
case 5: days += 31;
case 4: days += 30;
case 3: days += 31;
case