C 语言与web技术 2014年A卷
胡杨考研试题
C 语言部分
不定项选择题
- ABD C语言main函数的函数头可写为:
main (argc,argv)
规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。B 选项 char *arge[] 就等于char **arv,指向数组的指针
- AD “aeb”的形式,表示a乘以10的b次方。其中b必须是整数,a可以是小数。a不能缺失。
- D 023&17与运算结果为17,17对相应八进制21
- A 自增自减运算符它们只能用于单个的整型或字符型的变量
- A A 选项是对的,也只有调用函数的情况下,形参才会被分配临时的存储单元,平时形参是没有村塾单元的。C 选项,程序运行后会被收回。
- ABC D 选项结果为8且为long int
- A
- B NUM 值为8
- A 见
附录1
- A
填空
- 2
- 56 (位运算)
- x <= y && y <= z
- how 'are' you
- 321 (这题出现过,%s输出遇到整形0会停止)
程序阅读分析
1.写出程序结果
num1=2, num2=1
%d, 1
num3=15, str2_len=7
(printf 返回值表示被打印的字符数;str中\012是八进制,也就是ASCII码10所对应的字符,即换行,\x67是g,所以str保存的是 换行\345g
;%无法单独作为字符输出(因为其特殊性),如果想要输出%则可以用%%的形式)
2.双向链表
基本内容,自己来吧
3.水仙花数
- i = n / 100;
- j = (n - i * 100) / 10;
- k = n - i * 100 - j * 10;
- 我同意
i * i * i + j * j * j + k * k * k == n
这种写法。主要是因为如果单独变量在==左边,程序员误将==写成了=赋值符号,那么c语言无法检测出错误。if语句将出现不可预知的错误,是很难查到的。如果单独变量在右边这种情况,==被写成=会因为语法错误而无法编译,从而及时提醒程序员修正。
程序设计
查找mydoc.txt文件中含有teacher和student的段落,输出到edu.txt中
#include <stdio.h>
#include <string.h>
int main(void) {
FILE *fp;
if((fp = fopen("mydoc.txt", "r+")) == NULL) {
printf("文件不存在");
}else {
FILE * fq;
char word[1000], *p;
p = word;
fq = fopen("edu.txt", "w+");
while(!feof(fp)) {
*p = fgetc(fp);
//碰到换行符,结束字符串,查找字符串中是否有关键字,有的话就输出到edu.txt中,然后回溯指针
if(*p == '\n') {
*(p + 1) = 0;
if(strstr(word, "teacher") !== NULL || strstr(word, "student") !== NULL) {
fputs(word, fq);
}
p = word;
}else {
p++;
}
}
fclose(fp);
fclose(fq);
}
return 0;
}
web 部分
选择题
- C
- D input的默认值是写在value中的,textarea不是
- A
- C
- A js数组长度动态改变,不需要制定
- B setInterval 是每隔指定的时间,执行一次函数。但是alert是阻塞函数,alert弹出后定时器会被阻塞。只有alert消失,定时器才会恢复执行。所以选B
- B 页面单击触发,访问本身value属性用this.value访问
- A Math.round 四舍五入
- D asp中使用Application + SESSION。别的语言只用SESSION就可以
- C VBscript 这个问题回来问我,咱俩看下书结局。网上怎么说的都有。因为VBscript也可以作为服务端语言执行。
简答题
1. Ajax是什么,与传统web应用比有哪些优势
- AJAX即异步JavaScript和XML,是指一种创建交互式网页应用的网页开发技术。AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。
- 使用Javascript向服务器提出请求并处理响应而不阻塞用户; JavaScript 可在不重载页面的情况与Web服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果;AJAX 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面;AJAX 可使因特网应用程序更小、更快,更友好。
2. CSS 引入当时有哪儿些
- 使用HTML标签的style属性
- 将样式代码写在页面
<style>...</style>
标签之中
- 使用 link标签,引入外部CSS文件
- 使用@import引入CSS文件
3. Response 对象功能 ,Response.write与Document.write区别
- Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
- response.write ASP服务器脚本输出,document.writ e客户端脚本javascript或vbscript输出
编程题
1. 字符串反转问题
//方法一,很传统的方法
function reverse(str) {
var result = "";
for(var i = str.length - 1; i >= 0; i--) {
result += str[i];
}
return result;
}
//方法二,快速方法,如果老师对js不太熟,可能不会有好结果
function reverse(str) {
return str.split(",").reverse().join(",");
}
附录
1. fseek和rewind函数
- int fseek(FILE *stream, long offset, int fromwhere);函数设置文件指针stream的位置。
如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。
- 功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头
注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。
rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET)
;
用 法: void rewind(FILE *stream);