C语言试题选择题及答案
★第1 题:阅读程序,选择程序的运行结果___A___。
#include <stdio.h>main(){ int x;x=try(5);printf(“%d\n”, x);}try(int n){ if(n>0) return(n*try(n-2));else return(1);}A. 15B. 120C. 1D. 前面3个答案均是错误的第2 题:在下列结论中,只有一个是正确的,它是___A___。
A. 递归函数中的形式参数是自动变量B. 递归函数中的形式参数是外部变量C. 递归函数中的形式参数是静态变量D. 递归函数中的形式参数可以根据需要自己定义存储类型★第3 题:阅读程序,选择程序的输出结果__A___。
#include <stdio.h>f(int x, int y){ return(y-x);}main(){ int (*g)(int,int);int a=5, b=6, c=2;g=f;c=(*g)(a,b);printf(“%d\n”, c);}A. 1B. 2C. 3D. 前面3个答案均是错误的第4 题:阅读程序,选择程序的输出结果__D___。
#include <stdio.h>char *p=”abcdefghijklmnopq”;main(){ while(*p++!=’e’) ;printf(“%c\n”, *p);}A. cB. dC. eD. f★第6 题:阅读程序,选择程序的输出结果___D___。
#include <stdio.h>void prtv(int *x){ printf(”%d\n”, ++*x);}main(){ int a=25;prtv(&a);}A. 23B. 24C. 25D. 26第7 题:阅读程序,选择程序的输出结果___B___。
#include <stdio.h>main(){ static char a[ ]= ”language”, b[]=”program”;char *ptr1=a, *ptr2=b;int k;for(k=0; k<7; k++)if(*(ptr1+k)==*(ptr2+k))printf(”%c”, *(ptr1+k));}A. gaeB. gaC. languageD. 有语法错误★第8 题:函数调用strcat(strcpy(str1, str2), str3)的功能是__C___。
A. 将串str1复制到串str2中,然后再连接到str3之后B. 将串str1连接到串str2之后,再复制到str3之中C. 将串str2复制到串str1中,然后再将串str3连接到串str1之后D. 将串str2复制到串str1中,再将串str1连接到str3之后★第9 题:设有以下程序段,则在main函数中使用语句__D___是无意义的。
main(){ int min();int a, b, c, (*p)();p=min;…}min(x, y)int x, y;{…}A. printf(”%d\n”, min(a,b));B. c=min(a, b);C. c=(*p)(a,b);D. p++;第10 题:已知static int a[2][3]={2,4,6,8,10,12}; 正确表示数组元素地址的是__A___。
A. *(a+1)B. *(a[1]+2)C. a[1]+3D. a[0][0]第11 题:已知int i, x[3][4]; 则不能将x[1][1]的值赋给变量i的语句是___C___。
A. i=*(*(x+1)+1)B. i=x[1][1]C. i=*(*(x+1))D. i=*(x[1]+1)★第12 题:当c的值不为0时,在下列选项中能够将c的值赋给变量a、b的是___C____.A. c=b=a;B. (a=c)||(b=c);C. (a=c)&&(b=c);D. a=c=b;第13 题:函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。
能正确执行此功能的函数是___D___。
A. funa(int *x, int *y){ int *p;*p=x; *x=*y; *y=*p;}B. funb(int x, int y){ int t;t=x; x=y; y=t;}C. func(int *x, int *y){ *x=*y; *y=*x;}D. fund(int *x, int *y){ *x=*x+*y; *y=*x-*y; *x=*x-*y;}第14 题:已知int x[]={1,3,5,7,9,11}, *ptr=x; 则不能正确引用数组元素的语句是___B___。
A. *(ptr--)B. *(--ptr)C. *(ptr++)D. *(++ptr)第15 题:已知int *ptr1, *ptr2; 均指向同一个int类型一维数组中的不同元素,k为int类型变量,则下面错误的赋值语句是___B___。
A. k=*ptr1+*ptr2;B. ptr2=k;C. ptr1=ptr2;D. k=*ptr1*(*ptr2);★第16 题:已知chars1[10], *s2=”ab\0cdef”; 则执行语句strcpy(s1,s2); 后,变量s1的内容为___A____。
A. abB. cdefC. ab\0cdefD. 内容不定第17 题:以下有关宏替换叙述中,错误的是___D___。
A. 宏替换不占用运行时间B. 宏无类型名C. 宏替换只是字符替换D. 宏名必须用大写字母表示★第18 题:C语言主函数main最多允许有___B___个参数。
A. 1B. 2C. 0D. 3★第19 题:C语言的编译系统对宏定义是___D___。
A. 在程序运行时进行替换处理B. 在程序连接时进行处理C. 和源程序中其他C语句同时进行编译的D. 在对源程序中其他成分正式编译之前进行处理的第20 题:已知int **p; 则变量p是___B___。
A. 指向int的指针B. 指向指针的指针C. int型变量D. 以上3种说法均是错误的★第21 题:已知int i; char *s=”a\045+045\’b”; 执行语句for(i=0; *s++; i++); 之后,变量i的结果是__B___。
A. 7B. 8C. 9D. 以上3个答案都是错误的第22 题:已知int i=0, j=1, *p=&i, *q=&j; 错误的语句是___D___。
A. i=*&j;B. p=&*&i;C. j=*p++;D. i=*&q;第23 题:已知int a[]={1,2,3,4,5,6,7,8,9,10,11,12}, *p=a; 则值为3的表达式是___A___。
A. p+=2, *(p++)B. p+=2, *++pC. p+=3, *p++D. p+=2, ++*p★第24 题:已知int a[3][4], *p=a; p+=6; 那么*p和__D___的值相同。
A. *(a+6)B. *(&a[0]+6)C. *(a[1]+2)D. *(&a[0][0]+6)第25 题:已知int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int(*ptr)[3]=a, *p=a[0];则以下能够正确表示数组元素a[1][2]的表达式是__D___。
A. *((ptr+1)[2])B. *(*(p+5))C. (*ptr+1)+2D. *(*(a+1)+2)第26 题:已知char **s; 正确的语句是__B___。
A. s=”computer”;B. *s=”computer”;C. **s=”computer”;D. *s=’A’;★第27 题:已知char s[20]= ”programming”, *ps=s; 则不能引用字母o的表达式是__A___。
A. ps+2B. s[2]C. ps[2]D. ps+=2, *ps第28 题:已知char b[5], *p=b; 则正确的赋值语句是__C__。
A. b=”abcd”;B. *b=”abcd”;C. p=”abcd”;D. *p=”abcd”;★第29 题:已知char s[100]; int i; 则在下列引用数组元素的语句中,错误的表示形式是___D___.A. s[i+10]B. *(s+i)C. *(i+s)D. *((s++)+i)第30 题:已知char s[10], *p=s; 则下列语句中,错误的语句是__B___。
A. p=s+5;B. s=p+s;C. s[2]=p[4]D. *p=s[0];第31题:(103)以下程序的输出结果是___D___。
#include <stdio.h>main(){int x=10, y=10;printf(“%d %d\n”, x--, --y);}A. 10 10B. 9 9C. 9 10D. 10 9第32 题:已知double *p[6]; 它的含义是___C___。
A. p是指向double类型变量的指针B. p是double类型数组C. p是指针数组D. p是数组指针★第33 题:说明语句int *(*p)(); 的含义是___D___。
A. p是一个指向int型数组的指针B. p是指针变量,它构成了指针数组C. p是一个指向函数的指针,该函数的返回值是一个整型D. p是一个指向函数的指针,该函数的返回值是一个指向整型的指针第34 题:已知int a, *p=&a; 则下列函数调用中错误的是___D___。
A. scanf(”%d”, &a);B. scanf(”%d”, p);C. printf(”%d”, a);D. printf(”%d”, p);第35 题:已知int *p, a; 则语句p=&a; 中的运算符&的含义是___D___。
A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址第36 题:下面程序的功能是将字符串s中所有的字符“c”删除。
请选择填空。
# include <stdio.h>main(){ char s[80];int i, j;gets(s);for(i=j=0; s[i]!=’\0’; i++)if(s[i]!=’c’) ___A____s[j]!=’\0’;puts(s);}A. s[j++]=s[i];B. s[++j]=s[i];C. s[j]=s[i]; j++;D. s[j]=s[i]第37 题:阅读下列程序,选择程序的运行结果___B___。
C语言试卷(含答案)
一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设 i 是int 型变量,f 是float 型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100 和分别赋给i 和f,则正确的输入为()。
A. 100B.i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);} 上面的C 程序的输出结果是()。
A. 20B.1C.0D.-14、C 语言中,while 和do …while循环的主要区别是()。
A. do …while的循环体至少无条件执行一次B. while 的循环控制条件比 do …while的循环控制条件严格C. do …while允许从外部转到循环体内D. do …while的循环体不能是复合语句5、执行下面的 C 程序段后,输出结果是()。
inta=5;while(a--);printf("%d",a);A. 54321B. 4321C.0D.-16、在 C 语言中,()是在所有函数外部声明的。
A. 全局变量B. 局部变量C.形参D.实参7、分析下面的 C 程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。
A. 123B. 012C.23D.128、下面的 C 语言代码段的输出结果是()。
c语言笔试考试题及答案
c语言笔试考试题及答案一、选择题1. 在C语言中,字符型数据使用的关键字是:A. charB. intC. floatD. double答案:A2. 下列标识符中合法的是:A. 123nameB. _nameC. name$D. %name答案:B3. 表达式"5 + 3 * 2 - 4 / 2"的值是:A. 9B. 12C. 10D. 8答案:C4. 下列哪个语句可以用于在屏幕上输出字符型变量c的值:A. printf("%c", c);B. printf("%d", c);C. printf("%s", c);D. printf("%f", c);答案:A5. 下列哪个语句可以用于从键盘输入整型变量a的值:A. scanf("%d", a);B. scanf("%f", &a);C. scanf("%s", a);D. scanf("%c", &a);答案:B二、编程题1. 编写一个程序,输入一个整数n,计算并输出n的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long long factorial = 1;printf("请输入一个整数:");scanf("%d", &n);for (i = 1; i <= n; i++) {factorial *= i;}printf("%d的阶乘为:%lld\n", n, factorial);return 0;}```2. 编写一个程序,输入一个整数n,判断并输出n是否为素数。
答案:```c#include <stdio.h>int isPrime(int num) {int i;if (num <= 1) {return 0;}for (i = 2; i <= num / 2; i++) { if (num % i == 0) {return 0;}}return 1;}int main() {int n;printf("请输入一个整数:"); scanf("%d", &n);if (isPrime(n)) {printf("%d是素数\n", n); } else {printf("%d不是素数\n", n); }return 0;}```三、简答题1. C语言中的指针有什么作用?答案:指针在C语言中用于直接访问内存地址,可以提高程序的执行效率和灵活性。
(完整版)C语言试卷及答案
(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
(完整版)C语言选择题(附答案)
第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。
A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。
A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。
A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。
A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。
A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。
A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。
A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。
A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。
A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。
A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。
A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。
C语言试题库(含答案)
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;
C语言基础练习题(含答案)
第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。
BA、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。
BA.abc123 B. C._123_ D._ok 3. 正确的C语言标识符是()。
AA._buy_2 B.2_buy C._buy D.buy4. 请选出可用作C语言用户标识符的一组标识符()。
BA.void B.a3_b3 C.For D.2a define _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
BA.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。
dA.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。
bA.Float B.signed C.integer D.Char8. 以下不能定义为用户标示符的是()。
bA.scanf B.Void C._3com_ D.int9. 一个C程序是由()。
bA.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。
cA.程序行 B.语句 C.函数 D.字符11. 下列说法中,错误的是()。
aA.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是()。
cA.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。
c语言程序设计基础试题及答案
c语言程序设计基础试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言中的合法整数?A. 0x10B. 0X1GC. 08D. 0L答案:A3. 在C语言中,用于定义一个函数的关键字是?A. defineB. functionC. defD. void答案:B4. C语言中,以下哪个是正确的字符串定义?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A5. 在C语言中,以下哪个运算符用于求余?A. %B. /C. //D. %答案:A二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的关键字是________。
答案:int2. 如果一个函数没有返回值,应该使用________关键字声明。
答案:void3. 在C语言中,________运算符用于连接字符串。
答案:+4. C语言中,________运算符用于比较两个值是否相等。
答案:==5. 在C语言中,________关键字用于定义一个指针变量。
答案:*三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被当作指向数组第一个元素的指针。
数组的每个元素可以通过指针运算来访问。
2. 解释C语言中函数原型声明的作用。
答案:函数原型声明提供了函数的名称、返回类型和参数类型,但不需要函数体。
它允许在函数定义之前调用函数,同时帮助编译器检查函数调用的正确性。
3. 什么是C语言中的预处理指令,举例说明。
答案:预处理指令是C语言中的特殊命令,用于在编译之前处理源代码。
c语言考试题及答案
c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。
答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。
《c语言程序设计》试题库及答案
《c语言程序设计》试题库及答案一、选择题1. 下列哪个选项是C语言的标准库函数?A. printfB. scanfC. mainD. All of the above答案:D2. C语言中,用于定义字符串的字符数组的语法是什么?A. char str[] = "Hello";B. char str[] = {"Hello"};C. char str = "Hello";D. char str[] = 'Hello';答案:A3. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A二、填空题1. 在C语言中,定义一个整型变量的正确方式是:________。
答案:int variable_name;2. C语言中,用于计算两个数的和的运算符是:______。
答案:+3. 如果要在C语言中声明一个指向整型的指针,应该使用:________。
答案:int *pointer_name;三、简答题1. 请简述C语言中数组和指针的区别。
答案:数组是一组相同类型的元素的集合,可以通过索引访问每个元素。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以被用作指向数组首元素的指针,但数组本身是一个固定大小的实体,而指针可以被重新赋值为其他地址。
2. 解释C语言中的结构体(struct)是什么?答案:结构体是一种用户定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
它使得可以创建包含多种数据类型的复杂数据结构。
四、编程题1. 编写一个C语言程序,实现计算两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现将一个字符串反转,并输出结果。
c语言试题及答案大全
c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。
B. C语言可以被编译成机器语言执行。
C. C语言的语法和C++完全相同。
D. C语言不支持面向对象的编程。
答案:B. C语言可以被编译成机器语言执行。
2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。
其中,n由用户输入。
答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。
素数是指除了1和自身外,无法被其他整数整除的整数。
答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。
