A、若用值传递方式,则形式参数不予分配内存 B、实际参数和形式参数不可以同名
C、主调函数和被调用函数可以不在同一个文件中 D、函数间传送数据可以使用外部全局变量
(9)若变量已正确定义,以下能正确计算1*2*3*4*5的程序段有( )。 A、
i=1;s=1;
do { s=s*i;i++;} while(i<5); B、 i=0;s=0; do
{ i++; s=s*i;} while(i<5); C、
i=1;s=1;
do { s=s*i;i++;} while(i<6); D、 i=0;s=1; do
{ i++; s=s*i;} while(i<5);
(10)设有定义语句: int x[6]={2,4,6,8,5,7},*p=x,i;
要求依次输出x数组中6个元素中的值,下列选项中能完成此操作的语句有( )。 A、for(i=0;i<6;i++)printf(“-”,*(p++)); B、for(i=0;i<6;i++)printf(“-”,*(p+i)); C、for(i=0;i<6;i++)printf(“-”,*p++); D、for(i=0;i<6;i++)printf(“-”,(*p)++); (11)整型变量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.8/2-1
(12)下列关于指针定义的描述正确的有( )。
A、指针变量是一种变量,该变量是用来存放某个变量的地址值的 B、指针变量的类型与它所指向的变量类型一致 C、指针变量的命名规则与标识符相同 D、在定义指针时,”*”号表示指针变量的指向
(13)以下对结构体变量stu1中成员age的引用正确的有( )。 struct student {int age;
- 36 -
int num; }stu1,*p; p=&stu1; A、stu1.age B、student.age C、p->age D、(*p).age (14)设有结构体类型:
typedef struct str{ int no; char name[20]; }STR;
另有变量定义:STR a[20], x;
如希望实现向与文件指针变量fp关联的文件输出一个结构信息,则以下语句正确的有( )。 A、fwrite(a, sizeof(STR), 1, fp); B、fwrite(&a[2], sizeof(STR), 1, fp); C、fwrite(&x, sizeof(STR), 1, fp); D、fwrite(x, sizeof(STR), 1, fp);
(15)t为int类型,进入下面循环之前,t的值为0: for(;t=1;) { ???.}
则下列叙述不正确的有( )。 A、循环控制表达式的值为0 B、循环控制表达式的值为1 C、循环控制表达式不合法 D、循环有可能是个无限循环 (16)下列叙述不正确的有( )。
A、函数可以嵌套定义,但不能嵌套调用 B、函数可以嵌套调用,也可以嵌套定义 C、函数不可以嵌套定义,但可以递归调用 D、函数可以嵌套调用,但不能嵌套定义
(17)关于数组与字符串,下列选项中属于不合法的定义有( )。 A、char s=\
B、int a[5]={0,1,2,3,4,5}; C、char s[5]=\ D、char a[]={0,1,2,3,4,5};
(18)若有定义: char *str[]={\ 则下列选项中可以表示出字符’t’的表达有( )。 A、*str[2] B、*str+2 C、*(p+1) D、**++p
(19)若有以下调用语句,则正确的fun函数的首部包括( )。 main() { ?
int a[50],n; ?
- 37 -
fun(n, &a[9]); ? }
A、void fun(int m, int x[]) B、void fun(int s, int h[41]) C、void fun(int p, int *s) D、void fun(int n, int a) (20)已知有定义:
struct{ int no;
char name[20]; }a,b,*c;
则以下语句合法的有( )。 A、a=b; B、a=&b; C、c=&b; D、*c=b
第五届全国ITAT教育工程就业技能大赛复赛试题 C语言程序设计(A卷)
编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤。(20分)
a12 b8 c5 12 0 0
* * * ( “*”表示当前状态下每个容器的盛水量) ...... 0 6 6
编程实现:有二维数组a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}},将数组a的每一行元素均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),按行输出新数组。(20分)
C++实现代码: #include - 38 - return 0; } 编程:设x取值为区间[1,20]的整数,求函数f(x)=x-sin(x)- cos(x)的最大值,要求使用自定义函数实现f(x)功能。(20分) 编写函数fun,通过指针实现将一个字符串反向。要求主函数输入字符串,通过调用函数fun实现输入字符串反向。(20分) 已知学生三门课程基本信息如下。请使用结构体编程,计算学生三门课程平均成绩后,列表输出学生的姓名、数学、英语、计算机、平均分信息,并按平均分排序。(20分) 姓名 数学 英语 计算机 Mary 93 100 88 Jone 82 90 90 Peter 91 76 71 Rose 100 80 92 C++程序源代码:【若用C++中的类,会更清晰】 #include }arr[4];//声明一个结构体数组,用于存放四位同学的信息 int main() {//初始化结构体数组 arr[0].fun(\ arr[1].fun(\ arr[2].fun(\ arr[3].fun(\//循环,求出每位同学的平均分 for(int i=0;i<4;i++) { arr[i].mean=(arr[i].m+arr[i].e+arr[i].c)/3.0; //平均分会有小数,分母须为3.0 } //冒泡排序,按平均分的降序 for(i=0;i<3;i++) - 39 - for(int j=i+1;j<4;j++) { if(arr[i].mean 附加题:编程实现输入一串英文,统计其中各单词出现的个数(不区分大小写字母),以“000”作为字符串输入结束标志,例如: Twinkle twinkle little star 000(回车) twinkle little star 2 1 1 (50分) 第五届全国ITAT教育工程就业技能大赛决赛试题 C语言程序设计 1、求解钢材切割的最佳订单。(60分) (1)描述:编写程序,从订单中选择一组订单对钢材作切割加工,使钢材得到最佳利用,约定每一次切割会损耗固定长度的钢材(约定该值为2)。已知线型钢材总长度、订单数和各订单需要的钢材长度; (2)输入:钢材总长度s、订单数n、各定单需要的钢材长度; (3)输出:可以使钢材得到最佳利用的订单号、该订单需要的钢材长度。 例如: Please input total length of the steel s: 28(回车) Please input number of order n: 8(回车) Please input the orders : 5(回车) 6(回车) 7(回车) 8(回车) 9(回车) 10(回车) 12(回车) 15(回车) - 40 -