华东理工大学c语言
东华理工大一c语言考试题及答案

东华理工大一c语言考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义函数?A. classB. functionC. defD. void答案:D2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable_2D. variable$2答案:C3. 在C语言中,以下哪个运算符用于取反?A. !B. ~C. %D. &&答案:A4. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 1.23e2C. 0.1ED. 0.1E+答案:B5. 在C语言中,以下哪个选项不是控制语句?A. ifB. whileC. forD. switch答案:D6. C语言中,以下哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 在C语言中,以下哪个选项不是指针类型?A. int *B. intC. char *D. float答案:D8. 下列哪个选项是C语言中的合法数组定义?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:B9. 在C语言中,以下哪个选项用于声明一个函数?A. void function_name()B. function_name()C. int function_name()D. void function_name(int x)答案:D10. C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字定义一个全局变量。
答案:extern2. C语言中,________运算符用于计算两个整数的和。
东华大学c语言课程设计

东华大学c语言课程设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立编程和解决问题的能力。
具体目标如下:1.知识目标:学生能够理解并掌握C语言的基本语法、关键字、数据类型、运算符、控制结构、函数等基本概念。
2.技能目标:学生能够熟练使用C语言进行程序设计,掌握常用的调试技巧,能够独立解决编程过程中遇到的问题。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生自主学习、合作交流的能力,培养学生的创新意识和解决问题的能力。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程思想。
具体安排如下:1.C语言基本语法:介绍C语言的基本数据类型、运算符、控制结构、函数等。
2.数据结构:讲解数组、链表、栈、队列等基本数据结构及其应用。
3.算法:介绍常用的排序算法、查找算法、递归算法等。
4.编程思想:培养学生面向对象编程的思想,讲解面向对象编程的基本概念和方法。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:教师通过讲解、演示、举例等方式,向学生传授C语言的基本知识和编程技巧。
2.讨论法:学生进行小组讨论,引导学生主动思考、提问,培养学生的合作交流能力。
3.案例分析法:分析典型的编程案例,让学生学会分析问题、解决问题的方法。
4.实验法:安排实验课程,让学生动手实践,巩固所学知识,提高编程能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选择一本适合学生水平的C语言教材,作为学生学习的主要参考资料。
2.参考书:提供一些有关C语言编程的参考书籍,供学生拓展阅读。
3.多媒体资料:制作课件、教学视频等多媒体资料,丰富教学手段,提高学生的学习兴趣。
4.实验设备:准备计算机、网络等实验设备,为学生提供实践编程的环境。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面客观地评价学生的学习成果。
华东理工大学-计算机程序设计基础-样卷(仅供题型参考)

《***》样卷一、填充题(20分,每小题2分)1. C语言中的注释分为两种类型,分别是行注释和注释。
2. 若x=2,则表达式(x++)/3的值是。
3. 若int a=2; a+=3; 执行后,变量a的值是。
4. 若int a[]={12,45,34,46,23}; 则a[2]= 。
5. 假设int x=5; 表达式x>0?x+3:x-2的运行结果是。
6. continue语句只用于循环语句中,它的作用是。
…二、选择题(20分,每题2分)1.设a=3,b=4,c=5。
则逻辑表达式“!(a+b)+c-1&&b+c/2”的值是()。
A. TrueB. falseC. 1D. 02.如果x=5, y=8,则printf(“%d,%d”,++x, y--);的输出结果是()。
A. 5,8B. 6,7C. 5,7D. 6,83.C语言的一个源程序中定义的外部变量的作用域为()。
A. 本文件的全部范围B. 从定义点开始至本文件结束C. 本函数的全部范围D. 本程序的全部范围4.结构化程序设计常用的方法是()。
A. 自顶向下B. 逐步细化C. 模块化设计D. 以上三个都对5.以下四组中都能正确作为C语言程序标识符的是()组。
A. printfB. sort_1C. powD. book->namerow string_to_float string book.priceif PI 1_abc A#B…三.程序阅读分析题(20分,每小题5分)1. 以下程序的输出结果是。
#include“stdio.h”void main( ){int a=1,b=0;switch(a){case 1: switch(b){case 0: printf(“***”);case 1: printf(“@@@”); break;}case 2: printf(“$$$”); break;default: printf(“###”);}}2. 下面程序的功能是。
2022年东华理工大学公共课《C语言》科目期末试卷B(有答案)

2022年东华理工大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);2、在C语言源程序中,一个变量代表【】。
3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______5、假设变量a、b均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为_______。
6、测试char型变量a第6位是否为1的表达式是_______(设最右位是第1位)。
7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、在C语言中,二维数组元素在内存中的存放顺序是_______。
9、设有如下定义:#define SWAP(T,X,Y){T=X;X=Y;Y=T;}以下程序段将通过调用宏实现变量x和y内容的交换,请填空。
Double x=2.5,y=6.4,z;SWAP(_______);10、请填空:建立如图所示存储结构所需的说明语句是_______。
建立如图所示为变量a输入数据的输入语句是_______。
建立如图所示存储结构所需的赋值语句是_______。
二、选择题11、下列4组选项中,不是C语言关键字的选项是。
()A.defineB.getcC.includeD.whileIF char scanf goType printf case pow12、已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )。
2022年华东理工大学公共课《C语言》科目期末试卷A(有答案)

2022年华东理工大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、在C语言中,&运算符作为单目运算符时表示的是_______运算;作为双目运算符时表示的是_______运算。
2、C语言源程序的基本单位是________3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言的赋值表达式中,赋值号左边必须是_______5、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
6、已有一维数组a,n为元素的个数,且各元素均有值;函数void process (float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。
请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。
(1)float arr_add(float*arr,int n)计算数组元素值之和。
(2)float odd_add(float*p,int n)计算下标为奇数的元素之和。
(3)float arr_ave(float*p,int n)计算各元素的平均值。
7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。
函数中错误的部分是_______,改正后为_______。
void add(float a,float b){float c;c=a+b;return c;}8、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}9、假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。
华东理工大学c语言

华东理工大学c语言华东理工大学2009 - 2010 学年第 1 学期 c程序设计试卷( )1. 有下列程序#includemain(){union{int k;char i[2];}*s,a;s=&as->i[0]=0x39;s->i[1]=0x38;printf("%x\n",s->k);}输出结果是A)3839 B)3938 C)380039 D)3900382. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A)100<空格>765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>3. 设已有定义: char *st="how are you"; 下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11]; strcpy(a, st);D) char a[], *p; strcpy(p=&a[1],st+2);4. 设j为int型变量,则下面for循环语句的执行结果是for(j=10;j>3;j--){if(j%3)j--;--j;--j;printf("%d",j);}A)6 3 B)7 4 C)6 2 D)7 35. 以下程序的输出结果是main(){int i,k,a[10],p[3]:K=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k=p[i]*2;printf("%d\n",k);}A)20 B)21 C)22 D)236. 若有以下说明:int w[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是A) *w[1]+1 B) p++,*(p+1)C) w[2][2] D) p[1][1]7. 若k是int型变量,且有下面的程序片段:k=-3if(k<=0) printf("####")1else printf("&&&&");上面程序片段的输出结果是A) #### B) &&&& C) ####&&&& D) 有语法错误,无输出结果8. 以下程序运行后,输出结果是main( ){int y=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y\2;} while(y>1=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n")}A)10000 B)10010 C)00110 D)101009. 以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量10. 请读程序:#includefunc( int a, int b){ int c;c=a+b;return c;}main(){ int x=6, y=7, z=8, r;r=func( x--,y==,x+y),z--);printf("%d\n",r);}上面程序的输出结果是A) 11 B) 20 C) 21 D) 3111. 以下程序的输出结果是# includemain(){ int a=2,c=5;printf("a=%%d,b=%%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d12. 设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为< p="">A) 4 B) 3C) 2 D) 113. 执行以下程序后,y的值是main ( ){ int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x++) y + = * (p + x);printf("%d\n",y); }A) 17 B) 18 C) 19 D) 2014. 下面四个选项中,全是不合法的用户标识符的是:A、A P_0 doB、float la0 _AC、b-a goto intD、_123 temp INT15. 以下程序的输出结果是main( ){ int n=4;while(n--)printf("%d ",--n);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 016. 设有如下的变量定义:int i=8,k,a,b;2unsinged long w=5double x=1,42,y=5.2则以下符合C语言语法的表达式是A)a+=a-=(b=4)*(a=3) B)x%(-3); C)a=a*3=2 D)y=float(i)17. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + >5) printf("%d",x);else printf("%d\n",x - -); }A) 7和5 B) 6和3 C) 7和4 D) 6和418. 若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为A)float B)int C)char D)double19. 设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是A) *((*prt+1) [2]) B) *(*(p+5))C) (*prt+1)+2 D) *(*(a+1)+2)20. 给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为A)数组X和数组Y等价B)数组x和数组Y的长度相同C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度二、填空题(每空1分,共10分。
东华大学c语言课程设计

东华大学c语言课程设计一、课程目标知识目标:1. 掌握C语言的基本语法和程序结构,包括变量声明、数据类型、运算符、控制语句等。
2. 理解函数的定义与调用,能够编写简单的自定义函数,并进行参数传递。
3. 了解数组、指针和字符串的使用,能够运用它们进行数据操作和存储。
4. 掌握基本的文件操作,如文件的打开、读写和关闭。
技能目标:1. 能够使用C语言编写简单的程序,解决问题并进行调试。
2. 能够运用逻辑思维和算法设计,解决基本的算法问题。
3. 能够分析并优化代码,提高程序的执行效率。
4. 能够通过编写代码,实现数据的存储和提取,进行文件操作。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习编程的热情。
2. 培养学生的逻辑思维和问题解决能力,增强自信心。
3. 培养学生的团队协作意识,学会与他人共同解决问题。
4. 培养学生注重程序规范和代码质量,养成良好的编程习惯。
课程性质:本课程为东华大学计算机科学与技术专业的学科基础课,旨在让学生掌握C语言的基本知识和编程技能。
学生特点:学生具备一定的计算机基础,对编程有一定了解,但可能缺乏深入理解和实践经验。
教学要求:结合学生特点,通过理论讲解、案例分析和实践操作,使学生在掌握C语言知识的同时,提高编程能力和问题解决能力。
教学过程中注重培养学生的实际操作能力和创新思维,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. C语言概述:介绍C语言的发展历程、特点和应用领域,使学生了解C语言的重要性和学习价值。
相关教材章节:第一章 C语言概述2. 数据类型、运算符与表达式:讲解基本数据类型、变量声明与赋值,各类运算符的使用及表达式求值。
相关教材章节:第二章 数据类型与表达式3. 控制语句:介绍顺序结构、选择结构(if-else)、循环结构(for、while、do-while),以及跳转语句(break、continue、goto)。
相关教材章节:第三章 控制语句4. 函数:讲解函数的定义、调用、参数传递、返回值,以及递归函数。
2022年上海工程技术大学公共课《C语言》科目期末试卷B(有答案)

2022年上海工程技术大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。
2、C语言的源程序必须通过【】和【】后,才能被计算机执行。
3、C语言源程序的基本单位是________4、若a是int型变量,则执行表达式a=25/3%3后a的值为_______5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
7、下面程序段是找出整数的所有因子。
请填空。
scanf("%d",&x);i=1;for(;_______;){if(x%i==0)printf("%3d",i);i++;}8、下面程序wdm的运行结果是_______。
int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);9、字符串"ab\n\\012\\\"”的长度是_______。
10、若想输出b数组的10个元素,则下面存在错误的程序行是_______。
(每个程序行前面的数字代表行号。
)1 int main()2 {int b[10]={1,3,5,7,9,2,4,6,8,10},k;3 for(k=0;k<10;k++,b++)4 printf("%4d",*b);5 return0;6 }二、选择题11、下面4个选项中,是C语言关键字的选项是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东理工大学2009 - 2010 学年第 1 学期 c程序设计试卷( )1. 有下列程序#include <stdio.h>main(){union{int k;char i[2];}*s,a;s=&a;s->i[0]=0x39;s->i[1]=0x38;printf("%x\n",s->k);}输出结果是A)3839 B)3938 C)380039 D)3900382. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A)100<空格>765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车>3. 设已有定义: char *st="how are you"; 下列程序段中正确的是A) char a[11], *p; strcpy(p=a+1,&st[4]);B) char a[11]; strcpy(++a, st);C) char a[11]; strcpy(a, st);D) char a[], *p; strcpy(p=&a[1],st+2);4. 设j为int型变量,则下面for循环语句的执行结果是for(j=10;j>3;j--){if(j%3)j--;--j;--j;printf("%d",j);}A)6 3 B)7 4 C)6 2 D)7 35. 以下程序的输出结果是main(){int i,k,a[10],p[3]:K=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k=p[i]*2;printf("%d\n",k);}A)20 B)21 C)22 D)236. 若有以下说明:int w[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是A) *w[1]+1 B) p++,*(p+1)C) w[2][2] D) p[1][1]7. 若k是int型变量,且有下面的程序片段:k=-3if(k<=0) printf("####")1else printf("&&&&");上面程序片段的输出结果是A) #### B) &&&& C) ####&&&& D) 有语法错误,无输出结果8. 以下程序运行后,输出结果是main( ){int y=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y\2;} while(y>1=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n")}A)10000 B)10010 C)00110 D)101009. 以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量10. 请读程序:#include<stdio.h>func( int a, int b){ int c;c=a+b;return c;}main(){ int x=6, y=7, z=8, r;r=func( x--,y==,x+y),z--);printf("%d\n",r);}上面程序的输出结果是A) 11 B) 20 C) 21 D) 3111. 以下程序的输出结果是# include <stdio.h>main(){ int a=2,c=5;printf("a=%%d,b=%%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=%d12. 设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为A) 4 B) 3C) 2 D) 113. 执行以下程序后,y的值是main ( ){ int a[]={2,4,6,8,10};int y=1,x,*p;p=&a[1];for(x=0;x<3;x++) y + = * (p + x);printf("%d\n",y); }A) 17 B) 18 C) 19 D) 2014. 下面四个选项中,全是不合法的用户标识符的是:A、A P_0 doB、float la0 _AC、b-a goto intD、_123 temp INT15. 以下程序的输出结果是main( ){ int n=4;while(n--)printf("%d ",--n);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 016. 设有如下的变量定义:int i=8,k,a,b;2unsinged long w=5double x=1,42,y=5.2则以下符合C语言语法的表达式是A)a+=a-=(b=4)*(a=3) B)x%(-3); C)a=a*3=2 D)y=float(i)17. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main( ){ int x;scanf("%d",&x);if(x + + >5) printf("%d",x);else printf("%d\n",x - -); }A) 7和5 B) 6和3 C) 7和4 D) 6和418. 若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为A)float B)int C)char D)double19. 设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是A) *((*prt+1) [2]) B) *(*(p+5))C) (*prt+1)+2 D) *(*(a+1)+2)20. 给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为A)数组X和数组Y等价B)数组x和数组Y的长度相同C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度二、填空题(每空1分,共10分。
)1. 假定p所指对象的值为25,p+1所指对象的值为46,则执行"(*p)++;"语句后,p所指对象的值为___________。
2. 如果变量定义有:int a=9,c=8;则表达式(――a!=c++)?――a:++c的值为________。
3. 假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为__________。
4. 已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则对应scanf("%d,%d,%d",&i,&j,&f)调用语句的数据输入形式是__________5. 若x=5,y=10,则x>y和x<=y的逻辑值分别为________和_______。
6. C语言提供三种逻辑运算符,按优先级高低它们分别是_________,________,_________。
7. 空字符串的长度是__________。
三、判断题(本题共10道小题,共10分。
)1. 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数()2. 函数中的局部变量都是动态存储()3. 自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式()4. 函数的定义可以嵌套,但函数的调用不可以嵌套()5. do-while循环中,根据情况可以省略while()6. 形参时虚拟的,不占用存储单元( )7. 用户若需要调用标准库函数,调用前必须重新定义()8. 全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的要求()9. 在实际编程中,do-while循环完全可以用for循环替换()10. if语句,switch语句可以嵌套,而且嵌套的层数没有限制()四、程序填空(本题共5道小题,每题4分,共20分。
)1. 编写程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
#include <stdio.h>main(){int n,s,sum=0;scanf("%d",&n);for(int i=1;i<=n;i++){____________;for(int j=1;j<=i;j++)3_____________;sum+=s;}printf("%d",sum);}2. 若输入3个整数3,2,1,则下面程序的输出结果是____________。
#include<stdio.h>void sub( n,uu)int n, uu[ ];{ int t;t=uu[n--]; t+=3*uu[n];n=n++;if(t>=10){ uu[n++]=t/10; uu[n]=t%10;}else uu[n]=t;}main( ){ int i, n, aa[10]={0,0,0,0,0,0}scanf( "%d%d%d",&n,&aa[0],&aa[1]);for(i=1; i<n; i++) sub(i,aa);for(i=0; i<=n; i++) printf("%d",aa[i]);printf("\n");}3. 以下程序建立了一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data 域不放数据,表空的条件是ph->next = = NULL).#include<stdio.h>struct list { int data;struct list *next;};_________creatlist(){ struct list *p,*q,*ph; int a;ph=(struct list *) malloc(sizeof(struct list));p=q=ph; printf("Input an integer number,enter -1 to end:\n");scanf("%d",&a):while(a!=-1){ p=(struct list *)malloc(sizeof(struct list));p->data=a;q->next=p;_________=p;scanf("%d",&a); }p->next='\0';return(ph);}main(){ struct list *head; head=creatlist();}4. 以下函数的功能是:求x的y次方,请填空。