7000元买一个域名做网站,比较顺口的建筑公司名字,wordpress跳转内容页,wordpress帖子打赏观看诚信应考 , 考试作弊将带来严重后果#xff01; 《C程序设计试卷》 注意事项#xff1a;1. 考前请将密封线内填写清楚#xff1b; 2. 所有答案请答在试卷的答案栏上#xff1b; 3#xff0e;考试形式#xff1a;闭卷 4. 本试卷共 五 大题#xff0c;满分100分#xff… 诚信应考 , 考试作弊将带来严重后果 《C程序设计试卷》 注意事项1. 考前请将密封线内填写清楚 2. 所有答案请答在试卷的答案栏上 3考试形式闭卷 4. 本试卷共 五 大题满分100分 考试时间120分钟。 题 号 一 二 三 四 五 总分 得 分 评卷人 单项选择题每题2分共20分 结构化程序设计的三种基本控制结构是 C 。 A)输入、处理、输出 B)树形、网形、环形 C)顺序、选择、循环 D)主程序、子程序、函数 解析顺序选择循环 下列哪个是C的合法变量名( D )? A) 8d B) ex3.12 C)1_2a D) _int 解析完全没问题 若整型变量 int a2b1c3d4 则条件表达式ab?a:cd?c:d的值为 C 。 A) 1 B) 2 C) 3 D) 4 显而易见 for(int x0,y0;!xy5;y)语句执行循环的次数是 6 。 A) B) C) D)无限循环 若一个函数体中定义与全局变量相同名字的变量x在函数体内对x赋值修改的是 D 。 A局部变量和全局变量都被修改 B) 全局变量x C)不确定 D) 局部变量 x 设有如下定义语句int a[5],*pa;则下列表达式错误的是 B 。 Ap Ba p-a a1 数组无法做操作 设有变量定义 double x; int m; 函数原型声明void f(double *, int ); 则正确的函数调用语句是 A 。 A) f(x,m); B) f( x, m); C) f(*x, m); D) f (x,*m); 若用数组名作为调用函数的实参,则传递给形参的是( A )。 ) 数组存贮首地址 ) 数组的第一个元素值 ) 数组中全部元素的值 ) 数组元素的个数 设有二维数组a[3][4], 不等价的一对表达是 d 。 A) *(a[0]2) 与 a[0][2] B) a[0]3 与 a[0][3] C) *a[1] 与 a[1][0] D) a[0][2] 与 a[0]2 D应该为*a[0]2 若有函数原型int max (int a , int b); 并且有int (*p) ( int , int ) max ; 调用max函数的正确方法是( C )。 A) ( * p ) max ( a , b ) ; B) * p max ( a , b ) ; C) ( * p ) ( a , b ) ; D) * p ( a , b ) ; 答案栏: 1、____ 2、____ 3、____ 4、____5、____ 6、____7、___ 8、____9、___ 10、____ 简答题共20分 语句 cout ”y\x42\\x\102\nx”的显示结果是什么说明理由。3分 答yB\xB 以下程序的输出结果是什么请说明原因。2分 int main() { unsigned short a65535; short int b; ba cout”b”b; return 0 } 答-1 设有说明char a[6], * b a; sizeof(a), sizeof(b)的值各是多少分析结果原因。3分 答 6 4 设有说明int a[2*3]; 请写出两个表示数组a最后一个元素地址的表达式2分。 答a[5] a5 设在主函数中有以下定义和函数调用语句且fun函数为void类型请写出fun函数的原型。(2分) main() { double s[10][22]; int n; ┆ fun(s); ┆ } 答void fun(doubke **p) 设有如下定义 struct person{char name[10]; int age;}; person class[10]{“Johu”, 17, “Paul”, 19 “Mary”, 18, “Adam 16,}; 根据上述定义写出能输出字母M语句。3分 答6. class[2].name[0] 以下语句不能正确输出单链表head的数据元素值请找出原因。2分 struct link{int data; link * next; }; link *head, *p; …… phead; while(p!NULL) {coutp-}data; pp-next; } …… 答 设有函数调用语句 array_max_min(a ,n, max, min); 功能是由参数max, min返回基本整型数组a 的n个元素中的最大值和最小值。对应的函数原型是什么3分只需给出原型不用写函数定义 答void array_max_min(int *, int , int *,int *); 阅读程序写出运行结果每小题4分共20分 #includeiostream using namespace std; int main () { int x,n; xn5; xn; coutxnendl; return 0; } 106 #includeiostream using namespace std; int main () { char s[6]abcde, *ps; cout*ppendl; return 0; } 2. aabcde #include iostream
using namespace std;
int main()
{ int i,j;
for( i1; i3; i )
{ j1; while (ji) { cout i,jendl; j;
} }
return 0;
}
3. 2,1
3,1
3,2 以下程序的输出的结果是
#include iostream
using namespace std;
void incre();
int x3;
int main()
{ int i;
for (i1;ix;i) incre();
}
void incre()
{ static int x1;
x*x1;
cout x;
} #include iostream
using namespace std;
void fun ( int , int , int * ) ;
int main ( )
{
int x , y , z ; fun ( 5 , 6 , x ) ; fun ( 7 , x , y ) ; fun ( x , y , z ) ; cout x , y , z ; return 0;
}
void fun ( int a, int b , int * c )
{ ba ; * cb-a ; }
程序填空题每空2分共22分
下面程序的功能是输入三角形的三条边存放在变量ab和c 中判别它们能否构成三角形若能则判断是等边、等腰、还是其它三角形在横线上填上适当内容。
#include iostream
using namespace std;
int main()
{ float a, b, c ; couta,b,c;
cinabc; if ( abc bca cab ) { if ( 【1】 ) cout等边三角形\n; else if ( 【2】 ) cout等腰三角形\n; else cout其它三角形\n; } else cout不能构成三角形\n;
return 0;
}
(1) a b b c
(2) a b || a c || b c
以下程序功能是打印100以内个位数为6且能被3整除的所有数。
#include iostream
using namespace std;
int main ( )
{ int i , j ; for ( i 0 ; ___【3】___ ; i ) { j i * 10 6 ; if ( ___【4】____ ) continue ; cout j ” ” ; }
return 0;
}
(3) i 10
(4) j % 3
下列程序实现两个变量的值互换。
#include iostream
using namespace std;
void swap(int *, int *)
int main()
{ int a3,b8; swap(【5】 );
coutaa bbendl;
return 0;
}
void swap(int *x,int *y)
{ int temp 【6】 ; *x*y; *ytemp; }
(5) a, b 求nn≥6内的所有偶数表示为两个素数之和下图为输入16的运行结果。补充完整以下程序。
[提示一个偶数nn≥6可以表示为 1(n-1),2(n-2),3(n-3),… ]
#include iostream
using namespace std;
#includecmath
#includeiomanip
int isprime(int);
int main()
{ int num,i,n; cout 请输入一个偶数NN6:; cinnum;
for( n6; nnum; n2) for( i3;in/2;i2) if(____ 【7】_________) {coutsetw(3)nsetw(3)i setw(3)(n-i)endl; break;} return 0;
} int isprime(int m)
{ int i, ksqrt(m); for(i2; ik; i) if(____ 【8】_________) return 0 ;
____ 【9】_________
}
(7) isprime(i) isprime(n-i)
(8) !( m%i) 编程题18分
6分编写程序打印正整数的平方和立方值。程序运行后显示相应的提示信息要求输入2个正整数然后显示这个范围的数据的平方和立方值。例如分别输入整数1和10执行效果如下图所示。 答
#include iostream
using namespace std;
#includeiomanip
int main()
{ int a,b,i; cout 请输入第一个整数0:; cina; cout 请输入第二个整数第一个整数:; cinb; coutsetw(10)Nsetw(10)平方setw(10)立方endl; for( ia;ib;i) coutsetw(10)isetw(10)i*isetw(10)i*i*iendl; return 0; } 6分以下程序求一维数组元素的最大值并返回此值。请依题意编写函数f及填写函数原型。
#include iostream
using namespace std;
const int n10; __________ //f函数原型
int main()
{int a[n], i, max; for(i0; in; i) cina[i]; maxf(a,n); coutmaxmax; return 0;
}
答
int f(int *a,int n)
{int i,max; maxa[0]; for(i1;in;i) if(a[i]max) maxa[i]; return max;
} 6分以下程序的功能是分离一个浮点数的整数部分和小数部分。程序用字符串存放输入数据执行效果如图所示。根据main函数请写出separate函数的原型和实现定义。
#includeiostream
using namespace std;
___ void separate(char *s, int a, int b)
{int i; for(i0;s[i]!.;i) aa*10s[i]-48; for(i;s[i]!0;i) bb*10s[i]-48;
}_________________________________________ //separate函数原型
int main()
{ char s[20]; int i0, d0; cout请输入一个浮点数 ; cins; separate(s, i, d); //调用函数 couts整数部分是iendl; couts小数部分是dendl; return 0;
}