[关闭]
@caelumtian 2017-08-21T13:24:22.000000Z 字数 2728 阅读 687

C 语言与web技术 2014年A卷

胡杨考研试题

C 语言部分

不定项选择题

  1. ABD C语言main函数的函数头可写为:main (argc,argv)规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。B 选项 char *arge[] 就等于char **arv,指向数组的指针
  2. AD “aeb”的形式,表示a乘以10的b次方。其中b必须是整数,a可以是小数。a不能缺失。
  3. D 023&17与运算结果为17,17对相应八进制21
  4. A 自增自减运算符它们只能用于单个的整型或字符型的变量
  5. A A 选项是对的,也只有调用函数的情况下,形参才会被分配临时的存储单元,平时形参是没有村塾单元的。C 选项,程序运行后会被收回。
  6. ABC D 选项结果为8且为long int
  7. A
  8. B NUM 值为8
  9. A附录1
  10. A

填空

  1. 2
  2. 56 (位运算)
  3. x <= y && y <= z
  4. how 'are' you
  5. 321 (这题出现过,%s输出遇到整形0会停止)

程序阅读分析

1.写出程序结果

  1. num1=2, num2=1
  2. %d, 1
  3. num3=15, str2_len=7

(printf 返回值表示被打印的字符数;str中\012是八进制,也就是ASCII码10所对应的字符,即换行,\x67是g,所以str保存的是 换行\345g;%无法单独作为字符输出(因为其特殊性),如果想要输出%则可以用%%的形式)

2.双向链表

基本内容,自己来吧

3.水仙花数

  1. i = n / 100;
  2. j = (n - i * 100) / 10;
  3. k = n - i * 100 - j * 10;
  4. 我同意i * i * i + j * j * j + k * k * k == n这种写法。主要是因为如果单独变量在==左边,程序员误将==写成了=赋值符号,那么c语言无法检测出错误。if语句将出现不可预知的错误,是很难查到的。如果单独变量在右边这种情况,==被写成=会因为语法错误而无法编译,从而及时提醒程序员修正。

程序设计

查找mydoc.txt文件中含有teacher和student的段落,输出到edu.txt中

  1. #include <stdio.h>
  2. #include <string.h>
  3. int main(void) {
  4. FILE *fp;
  5. if((fp = fopen("mydoc.txt", "r+")) == NULL) {
  6. printf("文件不存在");
  7. }else {
  8. FILE * fq;
  9. char word[1000], *p;
  10. p = word;
  11. fq = fopen("edu.txt", "w+");
  12. while(!feof(fp)) {
  13. *p = fgetc(fp);
  14. //碰到换行符,结束字符串,查找字符串中是否有关键字,有的话就输出到edu.txt中,然后回溯指针
  15. if(*p == '\n') {
  16. *(p + 1) = 0;
  17. if(strstr(word, "teacher") !== NULL || strstr(word, "student") !== NULL) {
  18. fputs(word, fq);
  19. }
  20. p = word;
  21. }else {
  22. p++;
  23. }
  24. }
  25. fclose(fp);
  26. fclose(fq);
  27. }
  28. return 0;
  29. }

web 部分

选择题

  1. C
  2. D input的默认值是写在value中的,textarea不是
  3. A
  4. C
  5. A js数组长度动态改变,不需要制定
  6. B setInterval 是每隔指定的时间,执行一次函数。但是alert是阻塞函数,alert弹出后定时器会被阻塞。只有alert消失,定时器才会恢复执行。所以选B
  7. B 页面单击触发,访问本身value属性用this.value访问
  8. A Math.round 四舍五入
  9. D asp中使用Application + SESSION。别的语言只用SESSION就可以
  10. C VBscript 这个问题回来问我,咱俩看下书结局。网上怎么说的都有。因为VBscript也可以作为服务端语言执行。

简答题

1. Ajax是什么,与传统web应用比有哪些优势

  1. AJAX即异步JavaScript和XML,是指一种创建交互式网页应用的网页开发技术。AJAX 是一种用于创建快速动态网页的技术。
    通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。
  2. 使用Javascript向服务器提出请求并处理响应而不阻塞用户; JavaScript 可在不重载页面的情况与Web服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果;AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面;AJAX 可使因特网应用程序更小、更快,更友好。

2. CSS 引入当时有哪儿些

  1. 使用HTML标签的style属性
  2. 将样式代码写在页面<style>...</style>标签之中
  3. 使用 link标签,引入外部CSS文件
  4. 使用@import引入CSS文件

3. Response 对象功能 ,Response.write与Document.write区别

  1. Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
  2. response.write ASP服务器脚本输出,document.writ e客户端脚本javascript或vbscript输出

编程题

1. 字符串反转问题

  1. //方法一,很传统的方法
  2. function reverse(str) {
  3. var result = "";
  4. for(var i = str.length - 1; i >= 0; i--) {
  5. result += str[i];
  6. }
  7. return result;
  8. }
  9. //方法二,快速方法,如果老师对js不太熟,可能不会有好结果
  10. function reverse(str) {
  11. return str.split(",").reverse().join(",");
  12. }

附录

1. fseek和rewind函数

  1. int fseek(FILE *stream, long offset, int fromwhere);函数设置文件指针stream的位置。
    如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。
  2. 功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头
    注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。
    rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);
    用 法: void rewind(FILE *stream);
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注