关于c语言函数的试卷 c语言中关于函数的程序题

C语言函数题目1:B
2:A
3:A
4:A
5:A
6:B
7:B
8:B
9:A
10:D
如果有误关于c语言函数的试卷,请通知关于c语言函数的试卷我关于c语言函数的试卷,谢谢
大学C语言试题6,不懂,我要详细的解答~谢谢先分析那个结构体,类型名称为st,只含有两个内容,(1)一个字符c;(2)一个字符串指针s 。
再解读那个函数char *f(strct st t):
这个函数的返回值是一个字符串指针,它的自变量是一个结构体变量t(类型为st) 。
这的作用是什么?看内部 , while(t.s[k]!='\0')是一个循环语句,它遍历t变量中的s字符串的每一个字符,干什么呢?看循环体共两句:

if(t.s[k]==t.c)return t.s+k;
k++;
}
第一句是把s字符串的第k个字符与c做比较,如果相等,则返回s那个指针,只不过不是第一个字符,而是出现相等的那个字符 。注意,一旦相等,就跳出这个函数啦?。?
第二句则是让k加1,也就是继续比较下一个字符 。
如果很不幸,一直把s的字符全部比较完,也没有一个跟c相同的,那就循环结束了,执行后面的那一句:return t.s 。这一次是返回s那个指针 , 而且是指向第一个字符的了~~
最后分析一下主函数main,定义了一个st类型的数组a,共有4个元素,a[0]~a[3],每一个元素是都有不同的c和s都依次进行了定义 。
然后是一个循环,依次用a[0]~a[3]做参数调用f函数,并打印返回的值——从前面的分析我们知道每一次调用都返回一个字符串的指针——也就是打印这个字符串,每个字符串占一行 。共打印四行 。
分析完程序之后,我们再来看题目:
注意题目有一点bug , 21、22、23、24题的问题应该是第一、二、三、四行输出的内容,题目表述都问第一行的输出内容 , 那不是答案一样嘛?所以应该是题目印错了 。
其实每一行输出的内容只跟结构体变量a[k]中的c和s两个变量有关 。下面逐行分析:
第一行:c=1,s=123,k=0时第一个字符比较就相等了,所以返回s+k,也就是指向s的第一个字符的指针,所以输出的内容是全部s:123,是为选项C 。
第二行:c=2 , s=321 , 比较到第二个字符2(k=1)就相等了,所以返回s+1,也就是指向s的第二个字符2的指针 , 所以输出的内容是s从2开始的后面全部字符:21,是为选项A 。
第三行:c=3,s=123,比较到第三个字符3(k=2)就相等了 , 所以返回s+2,也就是指向s的第三个字符3的指针,所以输出的内容是s从3开始的后面全部字符:(非常不幸只有一个)3,是为选项A 。
第四行:c=4 , s=321,比较到最后一个字符也没有发现4,所以返回s,也就是指向s的指针 , 所以输出的内容是全部s:321,是为选项D 。
求一份大一c语言考试试卷,加答案附件上传失败...
C语言期末考试题及答案(1)
1、构成C语言关于c语言函数的试卷的基本单位是___B____ 。
过程?
函数?
语句?
命令?
2、设x为整型变量,不能正确表达数学关系:5x10关于c语言函数的试卷的c语言表达式是__B___ 。
5
x5x10?
x==6||x==7||x==8||x==9?
!(x=5)(x10)?
3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为__D___ 。
、||、!?
||、、!?
、!、||?
!、、||?
4、下面语句中,正确的是__D___ 。
printf("%c\n" , "student")关于c语言函数的试卷;?
printf("%c\n","c");?
printf("%s\n",a);?
printf("%s\n","hello");?
5、对于for(表达式1;;表达式3)可以理解为__B___ 。

推荐阅读