蓝莓题库

中国大学moocc/c c语言慕课答案大全-k8凯发

欢迎来访!

k8凯发-凯发官网入口麦课在线问答 正文

作者2022-12-05 21:07:15麦课在线问答 78 ℃0 评论
第一周:c语言概述,c语言变量、常量及表达式

第一周单元测验

1、八进制数0245转变为十六进制数是( )。
    a、0x105
    b、0x95
    c、0x125
    d、0xa5

2、十进制数37对应的十六进制数是( )。
    a、0x25
    b、0x22
    c、0x27
    d、0x45

3、短整型的十进制数-48在内存中按位表示为( )。
    a、11111111 00011000
    b、11111111 11010000
    c、10000000 00011000
    d、00000000 00011000

4、下列标识符组中,合法的用户标识符为( )。
    a、_0123与ssiped
    b、del-word与signed
    c、list与*jer
    d、keep%与wind

5、char型变量在内存中存入的是( )。
    a、一个ascii代码值
    b、两个ascii代码值
    c、四个ascii代码值
    d、两个字节十进制代码值

6、已知字符'a'的ascii代码值是65,字符变量c1的值是'a',c2的值是'd'。执行语句“printf("%d,%d", c1, c2 - 2);”后,输出的结果是( )。
    a、a,b
    b、a,68
    c、65,68
    d、65,66

7、字符串"\\\"abc\"\\"的长度是( )。
    a、11
    b、7
    c、5
    d、3

8、设有整型变量i ,其值为020;整型变量j,其值为20。执行语句: printf("%d,%d\n", i , j); 后,输出结果是( )。
    a、20,20
    b、20,16
    c、16,16
    d、16,20

9、设整型变量x为5,y为2,结果值为1的表达式是( )。
    a、!(y == x / 2)
    b、y != x % 3
    c、x > 0 && y < 0
    d、x != y || x >= y

10、二进制加法10010100 110010的和为(  )。
    a、11000110
    b、10100110
    c、10110110
    d、11100110

11、将十进制数15转换为二进制数是(  )。
    a、00001111
    b、00010000
    c、00010101
    d、00010001

12、属于整型常量的是( )。
    a、14
    b、14.0
    c、14.0e20
    d、-14.5

13、执行语句“x = a = 3 , b =( a--);” 后, x、a、b的值依次为( )。
    a、3,3,2
    b、3,2,2
    c、3,2,3
    d、2,3,2

14、设整型变量x的值为35,则表达式“(x & 15) && (x | 15)”的值是( )。
    a、0
    b、1
    c、15
    d、35

第二周:c程序及流程控制

第二周单元测验

1、有以下程序 #include void main( ) { int a,b,c=290; a=(c/100)%9; b=(-1)&&(-1); printf("%d,%d\n",a,b); } 输出结果是( )。
    a、2,1
    b、3,1
    c、2,0
    d、2,-1

2、下面程序的输出是( )。 #include void main() { int a=-1,b=4,k; k=(a <0)&&(!(b--<=0)); printf("%d %d %d%\n",k,a,b); }
    a、0 0 3
    b、0 -1 2
    c、1 0 3
    d、1 -1 3

3、阅读以下程序: #include void main() { int x; scanf("%d",&x); if(x--<5) printf("%d",x); else printf("%d",x ); } 程序运行后,如果从键盘上输入5,则输出结果是 ( )。
    a、3
    b、4
    c、5
    d、6

4、有如下程序,该程序的输出结果是( )。 #include void main( ) { int x=1,a=0,b=0; switch(x) { case 0: b ; case 1: a ; case 2: a ;b ; } printf(“a=%d,b=%d\n”,a,b); }
    a、a=2,b=1
    b、a=1,b=1
    c、a=1,b=0
    d、a=2,b=2

5、有以下程序 #include void main( ) { int a=16,b=21,m=0; switch(a%3) { case 0: m ; break; case 1: m ; switch(b%2) { default: m ; case 0: m ; break; } } printf(“%d\n”,m); } 程序运行后的输出结果是( )。
    a、1
    b、2
    c、3
    d、4

6、有以下程序 #include void main( ) { int a=5,b=4,c=3,d=2; if(a>b && b>c) printf("%d\n",d); else if(c-1>=d) printf("%d\n",d 1); else printf("%d\n",d 2) } 执行后输出结果是( ) 。
    a、2
    b、3
    c、4
    d、编译时有错,无结果

7、有以下程序 #include void main( ) { int a=3,b=4,c=5,d=2; if(ac) printf("%d ",d 1); else printf("%d ", d 1); } printf("%d\n",d); } 程序运行后的输出结果是( )。
    a、2
    b、3
    c、4 3
    d、4 4

8、有以下程序 #include void main( ) { int a,b,d=25; a=d/10%9; b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是( )。
    a、6,1
    b、3,1
    c、2,1
    d、2,0

9、有以下程序 #include void main( ) { int i,s=0; for(i=1;i<10;i =2) s =i 1; printf(“%d\n”,s); } 程序运行后的输出结果是( )。
    a、自然数1~9的累加和
    b、自然数1~10的累加和
    c、自然数1~10中的偶数之和
    d、自然数1~9中的奇数之和

10、以下程序段的输出结果是( )。 int x=3; do {   printf("=",x-=2); } while(!(--x));
    a、1
    b、30
    c、1 -2
    d、死循环

11、以下程序中,while循环的循环次数是( )。 #include void main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i ; } ...... }
    a、1
    b、10
    c、6
    d、死循环,不能确定次数

12、有以下程序 #include void main() { int a=1,b; for(b=1;b<=10;b ) { if(a>=8)break; if(a%2==1) { a =5; continue; } a-=3; } printf("%d\n",b); } 程序运行后的输出结果是( )。
    a、4
    b、5
    c、6
    d、3

13、有以下程序 #include void main( ) { int i; for(i=0;i<3;i ) { switch(i) { case 1: printf("=",i); case 2: printf("=",i); default: printf("=",i); } } } 执行后输出结果是( )。
    a、0 1 1 1 2 2
    b、0 1 2
    c、0 1 2 0 2 0
    d、1 2 0

14、下面程序的输出是( )。 #include void main( ) { int y=9; for(;y>0;y--) { if(y%3==0) { printf("=",--y); continue; } } }
    a、7 4 1
    b、8 5 2
    c、9 6 3
    d、8 7 5 4 3 2

15、有以下程序 #include void main( ) { int x,i; for(i=1;i<=50;i ) { x=i; if( x%2==0) if(x%3==0) if(x%7==0) printf("%d,i); } } 输出结果是( )。
    a、28
    b、27
    c、42
    d、41

第三周:函数

第三周单元测验

1、向main函数传入参数时,main函数的形参类型为( )
    a、int
    b、int,char
    c、int,char**
    d、float,char

2、定义函数void fun()函数,函数的返回值类型为( )
    a、int
    b、char
    c、函数可以返回任意类型的数据
    d、函数无返回值

3、下面关于函数描述正确的是( )
    a、函数的定义和调用均可以嵌套
    b、函数的定义和调用均不可以嵌套
    c、函数的定义可以嵌套,但是调用不可以嵌套
    d、函数的定义不可以嵌套,但是调用可以嵌套

4、下面对于函数返回值描述正确的是( )
    a、函数可以同时返回多个值
    b、函数必须要有返回值
    c、return后的值不能为表达式的形式
    d、return后数值的类型应该与函数的数据类型一致

5、当函数定义时,未定义函数的数据类型,函数的默认数据类型为( )
    a、int
    b、void
    c、char
    d、float

6、将一维数组名作为函数传入的实参,则形参接收到的是( )
    a、数组的首地址
    b、数组的第一个元素的值
    c、数组中全部元素的值
    d、数组元素的个数

7、下面程序段运行的结果为( ) #include int fun(float x,float y); int fun(float x,float y) { return x > y ? x : y; } int main() { print(“%d,%d\n”,fun(3,5),fun(4.8,4.6)); }
    a、3,4.6
    b、5,4.8
    c、5,4
    d、3,4

8、下面程序的运算结果为( ) #include int fun(int x,int y,int z); int fun(int x,int y,int z) { x=111; y=222; z=333; } int main( ) { int x=1,y=2,z=3; fun(x,y,z); print(“x=%d,y=%d,z=%d\n”,x,y,z); }
    a、111,222,333
    b、333,222,111
    c、1,2,3
    d、3,2,1

9、下面程序的运算结果为( ) #include int fun(int n); int fun(int n) { if(n == 1 || n == 2) return 1; return fun(n-1) fun(n-2); } void main() { print(“%d\n”,fun(6)); }
    a、5
    b、1
    c、2
    d、8

10、下列程序的运行结果是( ) #include int try( ); int try( ) { static int x=3; x ; return x; } void main() { int i,x; for(i=0; i<=2; i ) x=try(); printf(“%d\n”, x); }
    a、3
    b、4
    c、5
    d、6

11、以下程序的输出结果是( ) #include int f(); int f() { static int i=0; int s=1; s =i; i ; return s; } void main() { int i,a=0; for(i=0;i<5;i ) a =f(); printf("%d\n",a); }
    a、20
    b、24
    c、25
    d、15

12、下列程序的运行结果是( ) #include void fun(); int main() { int a=10 fun(); printf("]",a); return 0; } void fun() { int a=20; printf("]",a); }
    a、20 20
    b、10 20
    c、10 10
    d、20 10

13、以下正确的函数形式是( )
    a、double fun(int x,int y) { z=x y; return z; }
    b、fun(int x,y) { int z; return z; }
    c、fun(x,y) { int x,y; double z; z=x y; return z; }
    d、double fun(int x,int y) { double z; z=x y; return z; }

14、函数调用时,形参与实参的类型与个数可以不必保持一致( )

15、函数的实参与对应的形参各自占用独立的内存空间( )

16、main函数可传入参数的数量是固定的( )

17、函数一定要有形参( )

18、函数的调用可以作为一个函数的实参( )

19、c语言的程序必须从main函数开始执行,main函数执行完毕,则程序运行完毕( )

20、函数的形参可以为常数、变量与表达式( )

21、c语言对递归函数的自调用次数没有限制( )

第四周:数组

第四周单元测验

1、下列一维数组定义正确的是( )
    a、int a[3];
    b、int size; int a[size];
    c、int size=3; int a[size];
    d、int a[size=3];

2、下列一维数组定义与初始化错误的是( )
    a、int a[3] = 0;
    b、int a[3] = ;
    c、int a[3] = {1,2,3};
    d、int a[3] = {‘a’, ‘b’};

3、下列二维数组定义和初始化错误的是( )
    a、int a[2][3];
    b、int a[3][];
    c、int a[3][3] = {1,2,3};
    d、int a[2][3] = {{1,2,3}, {1,2,3}};

4、在下列语句条件下,二维数组的定义和初始化错误的是( ) #define size 9
    a、int a[size][size];
    b、int a[][size];
    c、int a[size*2][size];
    d、int a[size/2][size];

5、假定int型变量在内存中占2个字节,那么二维数组int a[3][4]所占的字节数为 ( )
    a、6
    b、12
    c、24
    d、48

6、若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为 ( )
    a、2
    b、3
    c、4
    d、无法确定

7、下列关于数组概念的描述中,错误的是( )
    a、数组中所有元素类型是相同的
    b、数组定义后,它的元素个数是可以改变的
    c、数组在定义时可以被初始化,也可以不被初始化
    d、数组元素的个数与定义时的每维大小有关

8、已知double dd[ ][3]={{1.2, 2.4, 3.6}, {4.8, 5.2},{6.4}}; dd[2][2]的值为( )
    a、1.2
    b、5.2
    c、0.0
    d、无法确定

9、若有定义语句:int m[][3]={1,2,3,4,5,6,7};,则与该语句等价的是( )
    a、int m[][3]={{1,2,3},{4,5,6},{7}};
    b、int m[][3]={{1,2},{3,4},{5,6,7}};
    c、int m[][3]={{1,2,3},{4,5},{6,7}};
    d、int m[][3]={{1},{2,3,4},{5,6,7}};

10、程序填空。程序功能:求矩阵的最小值,并记录最小值的行列号。 #include void main() { int i,j,min; int row=0,column=0; int a[3][3]={{1,2,3},{2,-3,4},{9,4,7}}; min=a[0][0]; for(i=0;i<3;i ) { for(j=0;j<3;j ) { if( ) { min=a[i][j]; row=i 1; column=j 1; } } } printf("min=%d,row=%d,column=%d\n",min,row,column); } 下列程序中空白处所填语句正确的为( )
    a、min=a[i][j]
    b、min>a[i][j]
    c、min    d、min<=a[i][j]

11、若有定义语句int a[10]; 以下叙述中正确的是( )
    a、a[0]是合法的数组元素,a[10]是合法的数组元素
    b、a[0]不是合法的数组元素,a[10]不是合法的数组元素
    c、a[0]不是合法的数组元素,a[10]是合法的数组元素
    d、a[0]是合法的数组元素,a[10]不是合法的数组元素

12、下列有一行是错误的(每行程序前的数字表示行号),程序有错误的行数是( ) 1 include 2 void main( ) 3 { 4 int a[3] = {2*3}; 5 int i, sum=0; 6 for( i=0; i<3; i ) 7 { 8 scanf("%d", a[i]); 9 sum = a[i]; 10 } 11 printf( "%d\n", sum ); 12 }
    a、第3行有错误
    b、第8行有错误
    c、第9行有错误
    d、第11行有错误

13、若有以下数组说明,则a[a[i]]元素数值是( )。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}, int i=10;
    a、10
    b、9
    c、6
    d、5

14、以下叙述中正确的是( )
    a、语句int a[8]=;是合法的
    b、语句int a[]=;是不合法的,遗漏了数组的大小
    c、语句char a[2]={12, 125, 1};是合法的
    d、定义char a[3]; 则数组a在内存中占6个字节

15、程序填空。程序功能:计算两个矩阵的乘积。 #include void main() { int valuea[3][4]={{2,3,-5,0},{12,-1,2,8},{1,12,-2,1}}; int valueb[4][5]={{5,13,0,1,5},{-2,0,4,1,5},{5,3,2,1,0}, {0,1,2,0,1}}; int valuec[3][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}}; int i,j,k; for(i=0; i<3; i ) for(j=0; j<5; j ) for(k=0; k<4;k ) ; for(i=0;i<3;i ) { printf(“\n”); for(j=0;j<5;j ) printf(“]”,valuec[i][j]); } } 程序中空白处所填语句正确的为( )
    a、valuec[i][j] = valuea[i][k] * valueb[k][j]
    b、valuec[i][j] = valuea[i][k] valueb[k][j]
    c、valuec[i][j] = valuea[i][k] * valueb[k][j]
    d、valuec[i][k] = valuea[i][j] * valueb[j][k]

第五周:指针

第五周单元测试

1、static int *p; 这是定义了一个指针。变量p的数据类型为( )
    a、int
    b、static int
    c、int *
    d、static

2、在“int a = 3, *p = &a ; ”语句中,*p的值为( )
    a、变量a的地址值
    b、无意义
    c、变量p的地址值
    d、3

3、对于语句“int *p[5] ; ”,下面的描述( )是正确的
    a、p是一个具有5个元素的指针数组,每个元素是一个 int 型指针
    b、p是指向数组的指针变量
    c、p是指向元素p[i]的指针变量
    d、p[5]是一个int 指针

4、下面关于指针的运算中,描述( )是不正确的。
    a、两个指针在一定条件下可以进行相等或者不等的运算
    b、可以用一个空指针赋给某个指针
    c、两个指针在一定条件下可以相减
    d、两个指针在一定条件下可以相加

5、若有下面语句“int i =2 , a[5] ; int *p ; p=a; ”;则( )是对数组元素的错误表示
    a、*(a i)
    b、p[i]
    c、*(p i)
    d、p i

6、如有下面语句“void *fun(int) ;”声明的函数,则函数返回值的类型是( )
    a、void *
    b、void
    c、int
    d、int *

7、将二维数组名作为主调函数传入的实参,则被调函数的形参的是( )
    a、一维数组指针
    b、二维数组指针
    c、普通的一级指针
    d、普通的二级指针

8、下面程序段运行的结果为( ) #include char *fun(char *px,char *py); char *fun(char *px,char *py) { return (*px > *py ? px : py ); } void main() { printf(“%s%s\n”,fun(“abc”,”abcd”),fun(“1234”,”123”)); }
    a、abcd1234
    b、abc1234
    c、abcd123
    d、abc123

9、下面程序的运算结果为( ) #include void swap(int *px, int *py); void swap(int *px, int *py) { int t; t=*px; *px=*py; *py=t; } void main() { int a=3,b=5; swap(&a,&b); print(“%d,%d\n”,a, b); }
    a、3,5
    b、3,3
    c、5,3
    d、5,5

10、下面程序的运算结果为( ) #include int *fun(int n); int *fun(int n) { static int i, a; for( i=0; i    a、1
    b、3
    c、&a
    d、6

11、下面语句( )是错误的。
    a、int a[10], *p; p=a;
    b、int a[10], *p; p = &a[0];
    c、int a[10], *p; p = a ;
    d、int a[10], *p; p= a 1;

12、以下说法中正确的是( )。
    a、c语言的指针只能用来装变量的地址
    b、c语言的指针可以进行加、减、乘、除等算术运算
    c、c语言指针就是一种数据类型,具体有指针变量和指针常量
    d、c语言指针很难,一般人难以理解

13、关于指针型函数,哪种说法( )是正确的。
    a、函数的形参是指针
    b、函数大量使用指针变量
    c、函数的返回值是指针型
    d、调用该函数的主调函数的类型是指针型

14、c语言程序中,如果指针变量做函数的形参时,则当函数调用时( )是正确的说法。
    a、实参应该是和形参具有相同数据类型的指针变量或指针常量
    b、实参必须是和形参具有相同类型的指针变量
    c、实参必须是和形参具有相同类型的指针常量
    d、其它三种说法都正确

15、关于函数指针,下面叙述中正确的是( )。
    a、定义的一个指针变量,用于存放函数的入口地址
    b、所谓函数指针就是函数的返回值是指针类型
    c、定义的一个指针变量,用于存放函数的返回值的地址
    d、所谓函数指针就是函数的所有形参都是指针

第六周:字符串

第六周单元测验

1、下列程序的运行结果是: #include void main( ) { char *s="hello"; s ; printf("%x",s); }
    a、字符'h'
    b、字符'i'
    c、字符'e'
    d、字符'e'的地址

2、下列程序的运行结果是: #include void main( ) { char *s="hello"; s ; printf("%d",*s); }
    a、d
    b、elo
    c、e
    d、101

3、若有语句char *s1="abcd",*s2="abcd";则下列描述不正确的是:
    a、s1与s2所指向的内容是相同的
    b、s1与s2是完全相同的指针
    c、s1与s2都指向字符串的首地址
    d、s1与s2指向不同的字符串

4、若有语句char string[20];则此数组存储字符串的最大长度是:
    a、18
    b、19
    c、20
    d、21

5、下列程序的运行结果是: #include void main( ) { char s[]="abcd",*p; for(p=s 1;p    a、abcdbcdcdd
    b、abcd
    c、bcd
    d、bcdcdd

6、下述哪个函数可以将字符串转换为整数:
    a、double atof(const char *nptr)
    b、int atoi(const char *nptr)
    c、int strlen(const char *nptr)
    d、void itoa(int n,char s[],int radix)

7、下列能正确定义字符串的语句是:
    a、char str[]={'84'};
    b、char str="kx43";
    c、char str="";
    d、char str[]="\0";

8、下列可以实现两个字符串之间比较的函数是:
    a、void strcmp(char *s1 ,char *s2)
    b、int strcmp(char *s1 ,char *s2)
    c、char *stract(char* dest,char *src)
    d、itoa(int n,char *s)

9、下列字符数组长度为5的是:
    a、char a[10]={'h','a','b','c','d'};
    b、char b[]={'h','a','b','e','d',''};
    c、char c[]={'h','a','b','c',''};
    d、char d[6]={'h','a','b','c',''};

10、以下关于字符串的叙述中正确的是:
    a、c语言中有字符串类型的常量和变量
    b、两个字符串中的字符个数相同时才能进行字符串大小的比较
    c、可以用关系运算符对字符串的大小进行比较
    d、空串不是空格字符串

11、字符串是由字符组成的,只能包含英文字母。

12、char string[5]可以用来存放"abcde"字符串。

13、在字符指针初始化时,可以直接用字符串常量作为初始值。

14、在初始化或程序中向指针赋予字符串,相当于把该字符串复制到指针指向的地址中。

15、使用gets函数输入字符串时,字符串可以包含空格。

16、puts函数可以同时输出多个字符串。

17、利用赋值语句可以将一个字符串或字符数组直接传送给一个字符数组。

18、使用字符串比较函数strcmp进行两个字符串比较时,如果相等则函数返回1。

19、通过字符串处理库函数strupr可以将字符串中小写的字母转换成大写字母。

20、字符串处理库函数char *strstr(char *s1,char *s2)可以用来查找在s1中字符串s2整体出现的次数。

第七周:结构

第七周单元测验

1、定义以下结构体类型 struct s { short int a; char b; float f; }; 语句printf("%d", sizeof(struct s))的输出结果为( )
    a、3
    b、7
    c、6
    d、4

2、当定义一个结构体变量时,系统为它分配的内存空间是( )
    a、结构中一个成员所需的内存容量
    b、结构中第一个成员所需的内存容量
    c、结构体中占内存容量最大者所需的容量
    d、结构中各成员所需内存容量之和

3、定义以下结构体数组 struct c { int x; int y; }s[2]={1,3,2,7}; 语句printf("%d",s[0].x*s[1].x)的输出结果为( )
    a、14
    b、6
    c、2
    d、21

4、运行下列程序段,输出结果是( ) struct country { int num; char name[10]; }x[5]={1,"china",2,"usa",3,"france',4,"england",5,"spanish"}; struct country *p; p=x 2; printf("%d, %c", p->num,(*p).name[2]);
    a、3,a
    b、4,g
    c、2,u
    d、5,s

5、根据下面的定义,能输出mary的语句是( ) struct person { char name[9]; int age; }; struct person class[5]={"john",17,"paul",19,"mary",18,"adam",16};
    a、printf("%s\n" ,class[1].name);
    b、printf("%s\n" ,class[2].name);
    c、printf("%s\n" ,class[3].name);
    d、printf("%s\n" ,class[0].name);

6、运行下列程序,输出结果是( ) #include struct contry { int num; char name[20]; }x[5]={1,"china",2,"usa",3,"france",4,"englan",5,"spanish"}; void main( ) { int i; for(i=3;i<5;i ) printf("%d%c",x[i].num, x[i].name[0]); }
    a、3f4e5s
    b、4e5s
    c、f4e
    d、c2u3f4e

7、若有定义语句; struct a { int a1; int a2; }a3; 以下赋值语句正确的是( )
    a、a.a1=4;
    b、a2=4;
    c、a3={4,5};
    d、a3.a2=5;

8、某结构型变量定义如下,对该结构型变量中成员的引用形式正确的是( ) struct abc { int s; char ch; }a1,*p; p=&a1;
    a、a1->s
    b、p->ch
    c、p.ch
    d、*p.s

9、若有以下说明语句 struct date { int year; int month; int day; } birthday; 则下面的叙述不正确的是( )
    a、struct 是声明结构体类型时用的关键字
    b、struct date是用户定义的结构体类型名
    c、birthday是用户定义的结构体类型名
    d、year, day都是结构体成员名

10、以下对结构变量stu1中成员age的非法引用是( ) struct student { int age; int num; }stu1, *p; p=&stu1;
    a、stu1.age
    b、student.age
    c、p->age
    d、(*p).age

11、有以下程序 #include struct stu { char name[9]; char sex; int score[2]; }; void f(struct stu a [ ]); void f(struct stu a[ ]) { struct stu b=("zhao",'m', 85,90); a[1]=b; } void main( ) { struct stu c[2]={{"qian",'f', 95, 92},{"sun",'m',98, 99}}; f(c); printf("%s,%c,%d,%d,",c[0].name, c[0].sex, c[0].score[0], c[0].score[1]); printf("%s,%c,%d,%d\n", c[1].name, c[1]sex, c[1].score[0], c[1].score[1]); } 程序运行后的输出结果是( )。
    a、zhao, m, 85, 90, sun, m, 98, 99
    b、zhao, m, 85, 90, qian, f, 95, 92
    c、qian, f, 95, 92, sun, m, 98, 99
    d、qian, f, 95,92, zhao, m, 85, 90

12、设有定义 struct { char mark[12]; int num1; double num2; }t1, t2; 若变量均已赋初值,则以下语句中错误的是( )
    a、t1 = t2;
    b、t2.num1 = t1.num1;
    c、t2.mark = t1.mark;
    d、t2.num2 = t1.num2;

13、下面结构体的定义语句中,正确的是( )
    a、struct { int x; int y; int z; }ord; struct ord a;
    b、struct { int x; int y; int z; }ord; ord a;
    c、struct ord { int x; int y; int z; }a;
    d、struct { int x; int y; int z; }ord a;

14、有以下程序 #include #include struct a { int a; char b[10]; double c; }; void f(struct a *t); void main() { struct a a= {1001,"zhangda",1098.0}; f(&a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c); } void f(struct a *t) { t->a=1002; strcpy(t->b,"changrong"); t->c=1202.0; } 程序运行后的输出结果是( )
    a、1001,zhangda, 1098.0
    b、1002,changrong, 1202.0
    c、1001,changrong, 1098.0
    d、1002,zhangda, 1202.0

15、以下对结构体类型变量的定义中,不正确的是( )
    a、typedef struct aa { int n; float m; }aa; aa tdl;
    b、#define aa struct aa aa { int n; float m; } tdl;
    c、struct aa { int n; float m; }; struct aa tdl;
    d、struct { int n; float m; }aa tdl;

猜你喜欢

  • 2022-12-05 21:25
  • 2022-12-05 21:19
  • 2022-12-05 21:15
  • 2022-12-05 20:50
  • 2022-12-05 20:46
  • 2022-12-05 19:53
  • 2022-12-05 19:25
  • 2022-12-05 19:22
  • 2022-12-05 19:16
  • 2022-12-05 19:03
网站地图